7 Mart 2016 Pazartesi

Xamarin Android'te uygulamayı kapatmanın raconu


Application.Exit();

Ne de kolay, sade, anlaşılır, şirin, şık şükela bir komutt ^^ Uygulamamızı bir süre önce böyle kapatıyorduk. Meğerse "Force Close" işlevi görüyormuş :) Yani zoririymiş;

(Burada bir karikatür vardı ama telif yerim diye kaldırdım. Herkese dava açıyorlarmış karikatür paylaşılıyor diye. Karikatürün doğasına hiç uymuyor bence bu tavır :-/ Elzemin ne olduğunu biliyorum. Ne? Zoriri)

Peki zoriri olunca ne olur ki? Daha doğrusu ne olmaz ki? Meğer Application.Exit(); komutceğizimiz uygulamayı tamamen öldürdüğü için notification gitmesini bile engelleyecek kadar cüretkârmış. Eee ne olcak o kadar notification israf değil mi? Elbette ki öyle. O haldee Application.Exit(); yapmayıp

((Activity)Forms.Context).Finish();

yaparsak sorunumuz çözülüyor.

Kolay çözülen sorunları severim.. <3


24 Şubat 2016 Çarşamba

"How to create local certificate" ve local iis'le proje geliştirirken bunu kullanmak :)


Sayın Cinaliler ve cincimeler.

Vaadimi tutuup local sertifika nasıl oluşturulur bunun yöntemini açıklama blog girdime hepiniz hoşgeldiniz. Lafı çok uzatmayacağım. Başlayalım :)

Https li site yapmak istedik. Benim için bu konu bir muamma idi. Ancak alışveriş sitelerinde olması gerekiyordu. Tabi öncesinde test etsek iyiydi. Eldi, mahkumdu, ne yapsaktı, sorsaktı. Sordum. Uğraştı.

Yani bunu yapmak için bayağı uğraştık sertifika ssl vs konularına yabancılığımız yüzünden. Araştırma aşamasında birr dolu site dolaştık. En sonunda aradığımızı bulduk. Neden? Çünkü vazgeçmemiştik. (fon müziği çalar)
(Burada bir karikatür vardı ama telif yerim diye kaldırdım. Herkese dava açıyorlarmış karikatür paylaşılıyor diye. Karikatürün doğasına hiç uymuyor bence bu tavır :-/ Enişten değiş Einstein Einstein Yine de insan gurur duyuyor. )
Söz konusu olan site şu;

http://www.mikeobrien.net/blog/creating-self-signed-wildcard/

Bu sitede adım adım zaten anlatılmış ben özetle üzerinden geçeceğim.

Windows 10 ceğizimde "C:\Program Files (x86)\Windows Kits\10\bin\x64" dizininde bir adet makecert.exe diye yardımcı programcık vaar. Bu yardımcı programcığı emellerimize alet ederek amacımıza ulaşacağız. Eğer sizde böyle bir yardımcı programcık yoksa şuradan edinebilirsiniz;

https://msdn.microsoft.com/library/windows/desktop/aa386968.aspx

Ardından cmd'mizi "Run as Administrator" ile açıp aşağıdaki komuttan kırmızıları kendimize göre revize edip çalıştıralım.

"C:\Program Files (x86)\Windows Kits\10\bin\x64\makecert.exe" -n "CN=My Company Development Root CA,O=My Company,OU=Development,L=Wallkill,S=NY,C=US" -pe -ss Root -sr LocalMachine -sky exchange -m 120 -a sha256 -len 2048 -r

Ardından da şunu aynı şekilde kırmızı yerleri revize ederek çalıştıralım;
"C:\Program Files (x86)\Windows Kits\10\bin\x64\makecert.exe" -n "CN=*.dev.somesite.net" -pe -ss My -sr LocalMachine -sky exchange -m 120 -in "My Company Development Root CA" -is Root -ir LocalMachine -a sha256 -eku 1.3.6.1.5.5.7.3.1
Örnek olarak ben şöyle yaptım;
"C:\Program Files (x86)\Windows Kits\10\bin\x64\makecert.exe" -n "CN=Localhost,O=Localhost,OU=Development,L=Mono,S=NY,C=US" -pe -ss Root -sr LocalMachine -sky exchange -m 120 -a sha256 -len 2048 -r
"C:\Program Files (x86)\Windows Kits\10\bin\x64\makecert.exe" -n "CN=*.local.com" -pe -ss My -sr LocalMachine -sky exchange -m 120 -in "Localhost" -is Root -ir LocalMachine -a sha256 -eku 1.3.6.1.5.5.7.3.1 

---------------------------------


ÖNEMLİ NOT: Bu şekıl kullanımdan kaldırılmış. (makecert.exe Deprecated ) . Bunun yerine Microsoft Powershell'de çalıştırabileceğimiz "New-SelfSignedCertificate" komutunu getirmiş.
Ancak makecert.exe'yi bir yerlerden indirip vs kullanmaya devam edenler mutlaka olacaktır ondan çözümünü kaldırmıyorum. 

Yeni yolu da paylaşmadan edemeyeceğim;

Adım adım;

# 1. Bu adımda sertifikayı oluşturuyoruz.
$certItem = New-SelfSignedCertificate -DnsName *.local.com -CertStoreLocation cert:\LocalMachine\My -KeyExportPolicy Exportable

# 2. Oluşturduğumuz sertifikayı export / import işleminde kullanacağımız şifremizi üretiyoruz.
$certPass = ConvertTo-SecureString -String "P@assw0rd" -Force -AsPlainText

# 3. Sertifikayı Export edeceğimiz klasörü oluşturuyoruz.
New-Item "C:\Certs" -Type Directory -Force

# 4. Sertifikayı C:\Certs\local.com.pfx yoluna export ediyoruz. 
$certFile = Export-PfxCertificate -Cert "cert:\LocalMachine\My\$($certItem.Thumbprint)" -Password $certPass -FilePath C:\Certs\local.com.pfx

# 5. Export ettiğimiz sertifikayı Trusted Root'a ekliyoruz.
Import-PfxCertificate –FilePath "$($certFile.FullName)" cert:\localMachine\Root -Password $certPass


PowerShell'i Administrator olarak (Sağ tuş yönetici olarak çalıştır - Run as Administrator) çalıştırıp yukarıdaki adımları tek tek yapıştırıp çalıştırıyoruz.


-----------------------------------


Daha sonra iis'te bu sertifikamızı seçebiliyor olacağız;
Şu şekıl;



Bunu bana öğrettiği için uzmanıma sonsuz saygılar, hörmetler.

Eyvallah.


trip.. trip..

:p




19 Kasım 2015 Perşembe

Local IIS'le Proje Geliştirmek ve Faydaları Hakkındaki derin olmayan blog girdisi :P

Yıllar hıızla geçiyor.. Takip edemiyorum cinlerim :)

E-ticaret mevzusu beni kesmedi. Onunla birlikte bir de yakşalık olarak 1 senedir aburlu cuburlu bir kurumsal firmada mobil yazılımcı olarak çalışmaya başladım.
Bir de "ah başarısız projelerim" mevzusu devam etmekte ama yakında başarısız sıfatından kurtulacaklar inşallah ^^ hissediyorumm çünkü güzel çalışıyoruz ve karşılığı da güzel olur diye inandık.
E tabi olmazsa olmaz derslerim de cabası. 16 tane dersim var bu döneeem..


(Burada bir karikatür vardı ama telif yerim diye kaldırdım. Herkese dava açıyorlarmış karikatür paylaşılıyor diye. Karikatürün doğasına hiç uymuyor bence bu tavır :-/ Allah zihin açıklığı versin. Sebep?)


Kısaca gerçekten ne yoğunluğumu, ne hayatımı, ne yılları; dolayısıyla ne de blogumu takip edebiliyorum.

Saygıdeğer müdürüm ve güzel insan uzmanım bana bir dolu makale ödevi vermişti. Bu ödevleri yapmamamın pek çok nedeni vardır elbet; ben en çok payı tempomu kaldıramamama ve heves katsayımın düşmesine bağlıyorum. Yaşlandım be cinlerim. Yine de yapmam gerekirdi tabi. Kendi iyiliğim içün.

Yine yazdım da yazdım. Uzun ara verince başlangıcın da uzun olması kaçınılamadı demek ki, neyse konuya döneyim.

Local iis'de proje geliştirmek güzel birşeymiş. :) Bunu her projemde kullanmak ve yöntemini unutmamak istiyorum çünkü geliştirmeye, teste çok hız katan bir yöntem.

Öncelikle IIS Manager'ımız açılır. Add Website... seçeneğinden yeni bir site eklenir. Örneğin projem.local.com olsun sitemizin adı.. ;



Binding kısmından istersek Type'ı https de seçebiliriz ancak bunun için local sertifika tanımı yapmak gerek :) Bunun nasıl yapıldığı da başka bir makale konum aslında. Yüzüm kızarmadan yazabiliyorum yine deee..

Neyse daha sonraa Visual Studio'da projemizin üzerinde sağ tıklıyoruz en alttaki ingiliz anahtarlı Properties ekranımıza giriyoruz. Web sekmesinden aşağıdaki ayarları yapıyoruz.




Burada iis'te oluşturduğumuz site adresini vermemiz ve Local IIS seçiyor olmamız önemli. Daha sonra Create Virtual Directory deyip kaydediyoruz. Visual Studio'da işimiz bu kadar. 

Son olarak bu işlemlerden sonra hosts dosyanızda güncelleme yapmayı unutursanız saatlerce nedenn olmuyor buuu diye çırpınıp; unuttuğunuz şeyin ne kadar basit olduğunu farkedince suratınızda oluşan o kendinize karşı oluşan güzel duygularınızı sonuna kadar dışa vuran ifadeyi ve içerinizdeki yangını bastıramayabilirsiniz. :P (yaşanmışlık uzun cümleciği)

Neyse bu hosts dosyacığımız genel olarak C:\Windows\System32\drivers\etc altında bulunur. Bu dosyamızı notepad++ ile açıp en altına 

127.0.0.1 projem.local.com

yapıştırıp yönlendirmemizi yaparsak artık herşey hazır olmalı. Her build'de çokça vakit kaybetmeyeceğiniz hızlı ve pratik bir geliştirme ortamı hazır. Artık projemizi geliştirirken adres çubuğumuza projem.local.com yazabiliriz.

There is no place like 127.0.0.1 ;)

Bu kadar.

Bitti.

uhte pah pa uhte... 

10 Haziran 2014 Salı

MVC Title ve Meta description Türkçe Karakter Sorununun çözümünün çeşitleri :)

Yaşasınn uzun süre sonra bloguma yazasımı getirecek birşey oldu. :) Çok büyük birşey değil ama bana unuttuğum "o hissi" yaşattı.

Nopcommerce diye ücretsiz bir e-ticaret paketi üzerinde oyalanıyorum şu sıra. Program MVC kullanılarak yazılmış ve gayet kapsamlı. Neyse bunu kullanırken elbette mono laneti peşimi bırakmadı, pek pek çok gıcık sorunla karşılaştım, çözüme bir şekilde ulaştım. Çoğunu not ettim, kimisi de aklımda. Bunu da yayınlayayım bari.

(Burada bir karikatür vardı ama telif yerim diye kaldırdım. Herkese dava açıyorlarmış karikatür paylaşılıyor diye. Karikatürün doğasına hiç uymuyor bence bu tavır :-/ Bir şey olacağı yok ama insan yontuyor işte)

....

Asıl sorun ve çözüme geçmeden bu e-ticaret mevzusunun kodlamayla hiç alakasının olmadığını kaydetmek isterim. SEO dan anlamam, detayları sevmem. Programı çalışır hale getirip yayınladıktan sonra bir hevesim kaçtı ki sormayın. Neyse ki abim varmış, bana SEO konusunda yardım etti (yardımdan çok el koydu demek daha doğru .p ) ve motivasyon sağladı. :) Teşekkür ederim canım abim.

Sıkıntım başlıktan da anlaşılacağı üzere sayfa kaynağını görüntüle dediğimizde sayfa Title ının ve Descriptionlarında türkçe karakterlerin bozuk çıkması. Pek çok çözüm yolu denedim.

Mesela;
  • <title>sayfamın başlığı</title> 'nı
<title>@Html.Raw(sayfamın başlığı)</title>

şeklinde güncelledim başlığı, ancak işe yaramadı.


  • Ardından sayfamın head kısmına
    <meta http-equiv=Content-type content=text/html; charset=UTF-8 />
    <meta http-equiv=Content-type content=text/html; charset=windows-1254 />
    <meta http-equiv=Content-type content=text/html; charset=iso-8859-9 />

taglarını ekledim. Herkeslerde olmuş ama bende olur mu hiç,, yine olmadı :)

  • Sonra web.config'ime system.web 'in altına 
<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="tr-TR" uiCulture="tr-TR" />

ekledim. Bu da yaygın bir çözümmüş ama yine olmadı. Hiç olur mu bende Allah aşkına güldürmeyin beni :)


  • Daha birçok burada yayınlamak istemeyeceğim saçma denemem oldu, araştırdım çokca. Sonunda hadi bunu da deneyeyim bakayım diye web.config 'e 
<httpRuntime encoderType="System.Web.Security.AntiXss.AntiXssEncoder,
                             System.Web, Version=4.0.0.0, Culture=neutral,
                             PublicKeyToken=b03f5f7f11d50a3a"/> 

ayarını nakşettim. Ümitsiz bir şekilde sayfa kaynağını görüntüle dediğimde ise sorunumun çözüldüğünü mutluluk içinde gördüm.

Çözümü şurada buldum;
http://stackoverflow.com/questions/14580876/disable-encoding-of-unicode-characters-in-asp-net-mvc3

En çok şu linkte çözüm için ümitlendim;
http://www.bayramucuncu.com/asp-net-mvc-meta-description-turkce-karakter-sorunu/

İnşallah başka şeyler de olur bloguma yazasımı getiren.
---------------------------------------

Önemli Not: Ben bu türkçe karakter sorunu diye tanımladığım şeyin SEO için olumsuz olacağını düşündüğümden düzeltmeye çalışmıştım. Meğer alakası yokmuş. :) Sonuç olarak o kadar emeğim boşa gitti :D Mono lanetiiiii....
Eğer siz de bu yüzden düzeltmek istiyorsanız şu linke göz atın;

http://social.msdn.microsoft.com/Forums/tr-TR/7b0c0a2d-8386-412d-b258-c2b68edd7132/aspnet-mvc-projemde-trke-karakter-sorunu?forum=aspnettr

Kolay gelsin :)

15 Şubat 2014 Cumartesi

MVC Model CheckBoxFor RequiredField ValidationAttribute


MVC'yle ilk tanıştığımda enn çok hoşuma giden yanı sanırım modelleri tanımlarken kullandığımız özelliklerdir. :) zorunlu alan mı, sayı alanı mı, e-mail alanı mı orada toptan tanımlayıp, hata mesajlarını belirleyip alanlarını şip şak kullanabiliyorsun. Hoş yani.. :)

Bir gün yine bu hoşlukları yaşarken true false değerini required yapmam gerekti. Yine her zaman yaptığım gibi Required field yazdım bool alanın üzerinee.. CheckBoxFor olarak kullanmaya kalktım. :) Sonrasında çalışmadı ve tabii hemen ulu googleun başına geçtim =) Bir de ne göreyim bunun için kendi validation Attributeumuzu yazmamız gerekiyormuş :) Bunu nereden mi uydurdum? İşte de buradan;

http://stackoverflow.com/questions/4730183/mvc-model-require-true

Bu da ValidationAttribute'dan türeyen metodum;

public class IsValidAttribute : ValidationAttribute
{
        #region Overrides of ValidationAttribute

    public override bool IsValid(object value)
    {
        if (value == nullreturn false;
        if (value.GetType() != typeof(bool)) throw new InvalidOperationException("Can only be used on boolean properties.");

        return (bool)value == true;
    }

        #endregion

}

Bu da kullanımım.. Aynı diğerleri gibi..;

        [IsValid(ErrorMessage = "Hizmet Kullanım Şartları'nı kabul etmelisiniz.")]
public bool TermsAndConditions { getset; }

------------

Aşkolsun size cinlerim. Canım sıkıldı diye geldim iki hoş laf edip eğlemediniz gönlümü.. :)

Motivasyonumu nasıl geri kazanacağım, o azme nasıl geri döneceğim bilmiyorum. Umarım ileride şu adam gibi olmam;

(Burada bir karikatür vardı ama telif yerim diye kaldırdım. Herkese dava açıyorlarmış karikatür paylaşılıyor diye. Karikatürün doğasına hiç uymuyor bence bu tavır :-/ İsmet abi senin bi İstanbul'u yenme projen vardı ne oldu o? Kalkarsam kalbini kırarım.)
Ah başarısız projelerim ah :) 
Hayydi bakalım.. Cennet projem miii CİNnet projem mi yenecek. :P

Hayırlı projeler herkese :)

28 Ocak 2014 Salı

MySQL "Failed to find or load the registered .Net Framework Data Provider" hatası


Merhaba cinlerim..  Yeni bir işten çıkışla daha karşınızdayım :)) Yok mu artık? Yok mu başka tepki arkadaş herkes mi aynı tepkiyi verir :)) Belki şurada kendimize bir başarı hikayesi yazıyoruz,, ne biliyorsunuz? :P

Farkettiyseniz işten çıkış dedim,, işsizlik demedim,, keza başladığımız Ticket System projesi üzerinde çalışmaya devam ediyorum. Bir yandan da iş aramaya başlarım belki,, ama sıkılmadım desem yalan olur şu ekabir sınıfından. Bakalım hayırlısı, iyi insanlarla karşılaşıp, ben de karşılaşılan o iyi insanlardan olayım da gerisi teferruat. ;)

Teferruatları geçtikten sonra başlığımızdaki asıl konuya girelim.. :)

Biliyorsunuz Ticket Systemimiz için seçmiş olduğumuz vtys MySQL. Neden bunu seçtiğimizle ilgili Temel Reis taramalı tüfek gibi  nedenler saymıştı. Bunlardan aklımda en çok kalanlar beleşlik ve hız :P türk müyüm neyim. Neyse belki daha sonra neden MySQL diye klişe bir yazı da yazarım. Klişeleri sevmesem de hayatımızda büyük yerleri olduğundan görmezden gelemeyiz. Bir de klişe oluyorlarsa bir bildikleri de var sonuçta.

İşte biz bu MySQL i seçtik ya hani, tabi kendisini de indirip kurduk ister istemez. ( http://dev.mysql.com/downloads/windows/installer/ ) Veritabanını da tasarladık Navicat yardımıyla.. Tablolar alanlar fln günümüzü gün ederken sıra sistemimizden veritabanına kullanıcı kaydetmeye geldii...

Zaten MVC ye alışmaya çalışan haleti ruhiyem insert işleminde "Failed to find or load the registered .Net Framework Data Provider" hatasını görünce bayağı bozulmuştu aslında yine beceremedim diye.. Sonra Temel Reis yine içime su serpti ve bu hatanın çok yaygın olduğunu söyleyip olaya el attı. Araştırdık ettik, çözüme ulaştık yılların tecrübesinin yardımıyla;
Meğer .Net Framework ümüzün machine.config dosyasına şu ayarı nakşetmek gerekiyormuş;


  <system.data>
    <DbProviderFactories>
 <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
  </system.data>

Nerede bu machine.config; bende şuradaydı; C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config
sizde nerede bilemem tabii ki. Arama özelliğinden yararlanabilirsiniz. ( :p )

Bunu yaptıktan sonra visual studio yu bir kapatıp açın. Sonrasında o hatadan kurtulmuş ve veritabanınıza attığınız o ilk bebek kaydı gözleri dolu dolu seyredebilir olacaksınız.

Allah bağışlasın, vatana millete hayırlı bir kayıt olsun inşallah :)

15 Ocak 2014 Çarşamba

MVC ile kaynaşma bahanem : Ticket System :PP


Dün gece uzun bir gece oldu.. İşten eve döndüm ve Boss umla beraber teamviewer üzerinden ticket sistemimizin startını verdik. :) Kendisi çok heyecanlı projeyle alakalı,, halbuki ben o projeyi kulağıma en kolay ve öğretici geldiği için seçmiştim. Meğersem buz dağının bir de görünmeyen kısmı varmış..


(Burada bir karikatür vardı ama telif yerim diye kaldırdım. Herkese dava açıyorlarmış karikatür paylaşılıyor diye. Karikatürün doğasına hiç uymuyor bence bu tavır :-/ Merhaba Fıstık (Şişman penguen))

Şöyle ki; ben sadece insanlar gelecek ben projeme şunu istiyorum diyecek, şu sorun var diyecek destek elemanları da bu istekleri öncelik sırasına göre yapacak sonra sorunu kapatacak ve herşey olup bitecek,, kullanıcılar ve destek elemanları güzeel güzel geçinip gidecekler zannediyordum. :) Evet başlangıç olarak hemen hemen böyle,, ama benim öylesine seçtiğim bu projenin bir de birkaç fazladan fazı olacak gibi görünüyor.( fazla ve faz kelimelerini bilinçli olarak yan yana kullandım. :P geyik ruhum sınır tanımıyor. Çok çılgınım. ) Neyse işte böyle birşeyler, bu fazla fazları sırası gelirse yazacağım inşallah. Olur da yaşarsam o zamana kadar. :)

İlk yaptığımız işlem Navicat üzerinde MySQL kullanarak database imizi modelledik. İlk aşamada kullanıcılar, şirketler, sorunlar, sorun nesneleri, dosyalar gibi temel tabloları oluşturduk. Bossum proje sonradan büyüyeceği için yapıyı alabildiğine esnek tuttu. Sonrasında pek çok yeni tablo ekleyeceğiz gibi görünüyor.
Sonrasında ise VisualStudio üzerinde boş bir proje oluşturup içine Entity, web ve resources projelerimizi ekledik. Ve tabii ki benim için ana amaç olan MVC yi seçtik. Bu arada sanırım Bossum beni kıskanıyor.(aramızda kalsın) Çok şanslı olduğumu yineleyip duruyor. Yazık çok sıkıntı çekmiş kendisi öğrenirken benim ise onun gibi büyük bir nimetim var. :)) Ne yapalım rızk Allah tan .. Ben de pek çok başka yerde kaybetmişimdir muhtemelen.. 

Neyse yine araya salata soktuğumun farkındayım. :) Gelelim en eğlenceli kısma.. Kullanacağımız template. Daha önce UI dan nefret ettiğimi söylemiştim ya. Sanırım nefretim bu işi çok güzel yapanlara olan kıskançlığımdan kaynaklanıyordu. Ve onlardan birisine daha template arayışımız esnasında denk gelmiş oldum.
Yine bootstrap kullanacağız elbette. Template işini de https://wrapbootstrap.com/ daki templatelere bakarak halletmiş olduk. Seçtiğimiz template şu; http://wrapbootstrap.com/preview/WB0573SK0
Bizi template i incelerken görmeniz lazım. Yapan adama küfürler mi etmedik ( tabii ki lafın gelişi, ben hiçbir zaman kötü kelime kullanmam,, belki bazen ima ederim :P ) yuhalamadık mı, anormal gözüyle mi bakmadık. En sonunda baktık olmayacak,, işini bu kadar harika yaptığı için teşekkür maili atmaya karar verdik. =) Hihi. Ne kadar da şiriniz. 

Neyse template imizi aldıktan sonra projemize bunu dahil ettik, ve Home page imizi de Menu, header gibi parçalara ayırdık Partial ekleyerek. Sonra ben esnemelere başladım ve susadım. Boss umdan zar zor izin alıp (:p abartık cümle başlangıcı)  mutfağa gittim ki annemle karşılaştık. Yok efendim bu neymiş, böyle iş mi olurmuş, kaç saattir çalışıyormuşuz, sonra uyanamıyormuşum, hemen bırakacakmışım çalışmayı fln (abartık cümle bitişi :p) Hep ben suçluydum zaten.(duygu sömürüsü cümlesi B) ) Neyse bu olanları Bossuma duygu sömürüsüyle anlattıktan sonra tüm heyecanına rağmen ve hala çalışmak istemesine rağmen bıraktı.. 

Bu yeni proje beni de heyecanlandırıyor. Umarım öz güven sorunumu da yenip hızlı bir şekilde adapte olabilirim. Geç kalmışlığımın ezikliğinden kurtulup Allah ın bana Bossumun vesilesiyle bahşettiği bu fırsatı değerlendirebilme ümidiyle, esen kalın. ;)