Şu sıralar hiç yazı yazamıyorum çünkü..

by oozturk 30. July 2010 11:14

Deyim yerindeyse deli gibi çalışıyoruz. Yeni 3 proje var aklımızda ve onları hazırlamakla meşgulüz ekip olarak. Henüz birincisindeyiz ve 3 ay içerisinde hazır olur gibi duruyor. Sanırım uzunca bir süre daha da meşgul olacağız bunlarla. Bir tanesi için android ve iphone uygulamaları da geliştiriyoruz. Bunlarla alakalı bütün karşılaştığımız sorun ve çözümleri de daha sonra yazmak için saklıyorum. Hepsini mümkün olan en kısa süre içerisinde paylaşacağım.

 

MVC 3'ün ilk preview sürümü de çıktı sanırım. Ona bile hala bakamadık ki mevcut projemizi MVC 2 ile hazırlıyoruz. Herşey tamamen servis bazlı çalışıyor. Hadi bakalım hayırlısı.

 

Bu süre zarfında sorularınız olursa lütfen mail atın, (geçtiğimiz haftalarda evlendim ve gelen maillara çok geç cevap verebildim ya da veremedim bile bazılarına. Özür dilerim.) mümkün olan en kısa süre içerisinde cevap veririm.

Tags:

Genel

MVC 2.0'da LINQ kullanmak isterken hata aliniyorsa, ne yapmak gerekiyor?

by oozturk 30. June 2010 23:25

web.config dosyasinda bulunan <system.web> icerisindeki <compilation> icerisindeki <assemblies> kısmına aşağıdaki kod eklenmelidir.

<add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

Tags: ,

MVC

HTC Desire'ım geldi!

by oozturk 23. April 2010 01:30

Merhaba,

Önceki HTC HD' telefonumun üstüne hafifçe oturmuştum 10 saat kadar ve dokunmatik ekranı düzgün çalışmamaya başladı, ben de hala ekranını değiştirmedim. Zaten windows mobile'a oldum olası alışamadım bir türlü. Rom değiştirmeme rağmen o kadar yavaş geliyordu ki. Ne demek istediğimi kullananlar bilir. O sıralar bir HTC Hero kullanma şansım olmuştu yurtdışından getiren bir arkadaşım sayesinde (henüz gelmemişti ülkemize) ve android'i çok beğenmiştim. Windowstan daha güzel, daha kullanışlı ve çok daha hızlı olması sanırım hoşlanmaya yeter ki daha birçok avantajı var.

Ancak hero'nun ekran çözünürlüğü bana uygun değildi ben de daha sonra çıkacak telefonları araştırmaya başlamıştım. Gördüğüm 3 tane birbirinden güzel android telefonumu buldum; Sony Ericcson X10, Google Nexus One, HTC Desire.

Hangisine karar verdim? Evet, HTC Desire. Nexus One'dan daha şık (çünkü htc sense arabirimi var) ve X10'dan daha kullanışlı geldi gözüme.

Aşırı başarılı buldum htc sense arabirimli android 2.1 işletim sistemine sahip bu telefonu, yine olsa yine alırım.

Daha yazacak çok şey var ama zamanım yok, daha sonra bu yazıya devam edeceğim ve tavsiye edebileceğim uygulamalardan bahsedeceğim. Belki de hatta bazı uygulamalar geliştirip bunları da paylaşabilirim ama bunun için zaman sözü vermiyorum :-)

 

Görüşmek üzere...

Tags: , ,

Genel | android

.Net 2.0 - .Net 3.5 ile excel'den veri nasıl alınır?

by oozturk 7. April 2010 19:04

Merhaba,

Excel'den veri alabilmek için öncelikle proje referanslarına aşağıdaki iki .net kütüphanesini eklememiz gerekiyor.

- Microsoft.Office.Core

- Microsoft.Office.Interop.Excel

Bu iki kütüphaneyi ekledikten sonra artık excel'e ulaşabilir hale gelmiş oluyoruz.

Excel'i çağırmak istediğimiz class'ın olduğu dosyanın başında gerekli namespace'i import edelim.

- using Excel = Microsoft.Office.Interop.Excel;

 

Şimdi mesela bir excel dosyasının içindeki ilk sayfadan veri okumak istiyoruz diyelim. Şöyle bir kod yazmamız yeterli.

 

Excel.Application xlApp;

Excel.Workbook xlWorkBook;

Excel.Worksheet xlWorkSheet;

object misValue = System.Reflection.Missing.Value;

xlApp = new Excel.ApplicationClass();

xlWorkBook = xlApp.Workbooks.Open(@"C:\files\2010.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);

xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

string ProductCode = ((Excel.Range)xlWorkSheet.Cells[1, 1]).Value2.ToString();

 

xlWorkBook.Close(true, misValue, misValue);

xlApp.Quit();

 

 

 

releaseObject(xlWorkSheet);

releaseObject(xlWorkBook);

releaseObject(xlApp);

 

 

Tabii bu kodun çalışabilmesi için bir de releaseObject fonksiyonu lazım, onu da paylaşayım hemen

 

private void releaseObject(object obj)

{

try

   {

       System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);

        obj = null;

    }

catch (Exception ex)

    {

         obj = null;

&n bsp;        MessageBox.Show("Objeyi bırakamıyorum! " + ex.ToString());

     }

finally

     {

         GC.Collect();

      }

}

 

 

Peki, excel ile çalışmak için gerken kod tamam. Ancak derlediniz ve çalışmadığını gördünüz. Sanırım şöyle bir hata alıyorsunuz

 {"Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))"}

Bu hata'nın neden kaynaklandığını da araştırırsanız, sorunun Excel 11.0 kütüphanesinin Culture ayarlarının US olmaması durumunda hata verdiğini öğrenebilirsiniz. Yani Excel kütüphanesinde hata var.

Peki bu hatayı nasıl aşacağız? Çok basit. Excel için çalışacak kodun başına aşağıdaki komutları yazarak, hem bilgisayarımızın Culture ayarının yedeğini alır hem de excel çalışabilsin diye US'e ayarlarız.

 

System.Globalization.CultureInfo oldCI = System.Threading.Thread.CurrentThread.CurrentCulture;

 

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");

 

Kodun sonuna ise aşağıdak kodu yazarak tekrar bilgisayarın kendi Culture ayarlarına geri dönebiliriz.

System.Threading.Thread.CurrentThread.CurrentCulture = oldCI;

 

Bu kadar. Eğer dosya adını doğru yazdıysanız ve okumaya çalıştığınız hücrede bir değer varsa alırsınız.

 

 

İyi çalışmalar dilerim!

Tags: ,

.NET | C# | MS Office

SQL'de belirli bir tip kolonların listesi nasıl alınır?

by oozturk 21. March 2010 20:03

Merhaba,

 

Bir hazır veritabanınız var ve belirli bir tipteki kolonları listelemeye ihtiyacınız var (mesela bu tipteki kolonların tipini değiştirmeniz gerekiyor), peki bunu nasıl yapacaksınız?

 

Script 1: Belirli bir kolon tipine ait kolonların listesini alırken sadece tablo adı ve kolon adını görmek istiyorsanız

SELECT OBJECT_NAME(c.OBJECT_IDTabloAdic.name KolonAdi
FROM sys.columns 
AS c
JOIN sys.types 
AS ON c.user_type_id t.user_type_id
WHERE t.name 
'text'
ORDER BY 
c.OBJECT_ID;

Script 2: Aynı şartlar altında bir liste almak istiyorsunuz ancak daha detaylı veriye ihtiycanız varsa

SELECT

OBJECT_NAME(c.OBJECT_ID) TabloAdi

,c.name AS Kolonadi

,SCHEMA_NAME(t.schema_id) AS SchemaAdi

,t.name AS Tip

,t.is_user_defined

,t.is_assembly_type

,c.max_length

,c.PRECISION

,c.scale

FROM sys.columns AS c

JOIN sys.types AS t ON c.user_type_id=t.user_type_id

WHERE t.name = 'date'

ORDER BY c.OBJECT_ID;

Bu kadar basit. Bu iki komuttan işinize yarayan biri ile istediğiniz veritabanına ait tablolar içinden istediğiniz veri tipindeki kolonları tespit edebilirsiniz.

 

İyi günler.

Tags:

MSSQL

JQuery kutuphanesinin diger kutuphanelerle beraber kullanilmasi. Mesela Prototype.

by oozturk 10. March 2010 18:55

Merhaba,

JQuery kutuphanesi bildiginiz uzere jQuery(...) yerine $(...) seklinde de kullanilabiliyor. Diger kutuphanelerden bazilari da yine jQuery gibi $(...) seklinde kullanilabiliyorlar. Bu sebeple jQuery kutuphanesini, diger kutuphanelerle beraber kullanmaya calistigimizda bir cakisma soz konusu oluyor.

Soz gelimi Prototype kutuphanesi ele alalim. Prototype'da $(...) seklinde kullaniliyor. Bu sebeple jQuery ile beraber kullanilacagi zaman problem olusuyor.

Mesela Lightbox, prototype kutuphanesini kullaniyor oldugundan oturu, Lightbox kullandigim bir sayfada jQuery de kullanmaya basladigimda sorun yasadim.

 

Ancak onlemenin bir yolu var.

<script type="text/javascript" src="prototype.js"></script>

<script type="text/javascript" src="jQuery.js"></script>

 

seklinde her ikisini de sayfaya ekledikten sonra

<script type="text/javascript">

jQuery.noConflict();

</script>

Komutunu calistirirsak sorun cozulur. Bu sayede jQuery'yi $(...) seklinde cagirilmasi durumu biter ve jQuery(...) seklinde kullanabilir kalir. Prototype ise $(...) seklinde kullanilabilmeye devam eder.

Tabii bu degisiklikten sonra jQuery'yi $(...) cagirdigimiz satirlari (Mesela: $("div")... ) jQuery(...) seklinde duzeltmemiz gerekir.

 

Bu kadar.

Tags: , , , , ,

Javascript

Word ile hazırlanan dosyaları pdf dosyasına çevirdiğinizde resimlerin bozulması nasıl engellenir?

by oozturk 6. February 2010 12:10
uzun zaman sonra tekrar yazmaya başlıyorum ve ilk yazım teknik olmayacak. Pdf'e çevrilirken resim kalitesinin bozulmaması nasıl engellenir? Konu bu. Microsoft Word 2007, eski sürümlerine nazaran resimleri daha farklı işliyor ve genelde durum tamamen bundan kaynaklanıyor. Siz zaten bu yazıyı okumadan önce muhtemelen pdf kaydetme ayarlarından en yüksek kaliteyi seçtiniz ve bu denemenizde de istediğiniz neticeyi elde edemediğiniz internette aradınız. Şöyle yardımcı olmaya çalışayım. Pdf'e çevrilecek word dosyalarınızda png ya da gif yerine jpg kullanmanız çok büyük ihtimalle sorunlarınızı neredeyse tamamen ortadan kaldıracaktır. Bunun yanı sıra hazırlayacağınız jpg dosyasının 300dpi çözünürlükte olmasını da tavsiye ederim. Sorununuz çözülmedi mi? O zaman sanırım siz resim dosyasını word'e ekledikten sonra resmin özelliklerini değiştirip word içerisinde istediğiniz gibi gözükmesini sağladınız ancak pdf'e çevirince istediğiniz neticeyi alamıyorsunuz? O zaman da şöyle söyleyeyim, istediğiniz görüntüyü resim dosyanızda hazırlayıp sonra hazır olan resmi word dosyanıza ekleyin, sorununuz yine çözülecektir. En azından benim sorunum bu adımlar ile çözüldü. Yine de, sorununuz çözülmediyse eğer mail atarsanız yardımcı olmaya çalışırım. İyi günler dilerim.

Tags: , , , , ,

Acrobat

Windows aktivasyonu başarısız oluyor, ne yapmalı? nasıl yapmalı?

by oozturk 3. September 2009 13:19

Selamlar,

Windows kurulumunda ürün kodunu girdiğiniz halde kurulu windows'unuzu aktive etmek istediğinizde eğer aktivasyon hatası alıyorsanız yapmanız gereken şey çok basit. Aktive etmek için kullanılan tuşun da bulunduğu sistem özellikleri ekranından ürün kodunu değiştir tuşuna basarak ürün kodunu tekrar yazıp daha sonra aktive etmeye çalışırsanız bu sefer yapacaktır. Tabii bu anlattığım ancak ürün kodunuzu doğru girmeniz ve ürünün lisanslı olması durumunda işe yarayacaktır. 

Tags: , ,

Windows

Hyper-V hakkında.

by oozturk 3. September 2009 11:13

Selamlar,

Windows Server 2008'i kurduğum anda Hyper-V kurlumuna giriştim. Artık Windows Server'ı da yönetmek çocuk oyuncağı neredeyse; Herhangi bir Role ya da Feature eklemek istenildiğinde nelere dikkat etmek gerektiğini kurulumdan sonra neler yapılması gerektiğini bir bir belirtiliyor. Hyper-V için de bazı ayarlara gerek varmış. Fiziksel bilgisayarın bios'unda işlemci ile ilgili iki seçeneğin aktif hale getirilmesi gerekiyor yoksa Hyper-V çalışmıyor. Neyse, daha önceden VMWare yada Sun'ın sunduğu virtualization olanaklarından ve Microsoft'un sunduğu Virtual PC ve Virtual Server'dan sonra Hyper-V de bir alternatif olarak karşımızda şimdi. Virtual Server'ın yerini mi alacak tartışmalarına da cevap verildi, hayır. Virtual Server, Hyper-V'den ayrı olarak geliştirilmeye devam edecek. Yani veliahtı değil, rakibi.

Virtual PC ve Virtual Server'la karşılaştırınca doğru düzgün bir sanallaştırma sunduğunu söyleyebilirim. İstenildiği kadar bellek, işlemci tahsis edilebildiği gibi ağ bağdaştırıcısı(ları) tahsis edilebiliyor. Ayrıca birden fazla sanal makinenin aynı ethernet kartından faydalanması da yine sağlanabiliyor. Ağ ayarı olarak ister normal bir bilgisayar gibi bütün ağa erişim sağlanabiliyor, ister yalnızca üstüne kurulu olduğun bilgisayarla konuşabilmesi sağlanabiliyor ister de yalnızca kurulu olduğu bilgisayarın üstüde koşan diğer sanal bilgisayarlarla konuşması sağlanabiliyor. Windows işletim sistemleriyle alakalı bir sorun yaşamadım kullanırken ancak Linux için ayn şeyi söyleyemeyeceğim. Denediğimiz Linux versiyonu hakkında şunu söylemeliyim ki; kurulumu rahatlıkla yapılabiliyor ancak network kartını tanımıyor. Doğruyu söylemek gerekirse çok da üstüne gitmedk ancak internette de aradığımızda herhangi alaklı bir kaynak bulamayınca Linux için döndük yine Sun'ın sanallaştırma çözümüne.

Genel olarak Hyper-V eğer Windows kullanacaksanız harika bir çözüm.

ASP.NET MVC 2.0 Beta hakkında.

by oozturk 3. September 2009 11:12

Selamlar,

ASP.NET MVC 1.0 kullananlar bilir, getirdiği o kadar güzel şeyler var ki vazgeçmesi çok güç ancak büyük uygulamalar için çok daha fazla geliştirilmesi gerekiyor, çok eksiği var. MVC 2.0 Beta'nın sürüm notlarında gördüğüm kadarıyla geliştiricileri biz diğer meslektaşlarını dinlemişler ve bu özellikleri hakkıyla MVC'ye ekliyorlar. Beta olmasına rağmen harika yeni özelliklerinden ötürü hemen mevcut MVC 1. projelerini aktarmak istiyorum. Tabii konu iş olunca şakaya gelmiyor, karşımıza çıkabilecek her türlü problemi öceden görmek gerekiyor. Burada da sürüm notlarına güvenmekten başka çare yok (böyle dememden güvenmediğim anlaşılmasın, demek istediğim başka öngörülmemiş problemler çıkacaksa bunları yol alırken göreceğiz), daha önceden alışık olduğumuz gibi yine bayağı kapsamlı olarak nasıl MVC 1.0 uygulamalarının MVC 2.0 Beta sürümüe yükseltilmesi gerektiği sürüm notlarına eklenmiş.

Sürüm notlarında iki farklı izlenebilece yoldan bahsediliyor; biri bütün projenin MVC 2.0 Beta ile oluşturulmuş bir başka projeye tek tek kopyalanarak taşınması, diğeri ise mevcut proje'nin üzerinde referans ayarlarının değiştirilmesi gibi işlemlerle geçişin sağlanması. Bana birincisi - daha uzun süreceğini ve canımı sıkacağını bildiğim halde - daha garanti bir yol gibi geldi ve bir projemi öyle yükselttim. Hiçbir problem olmadan çalıştı ve yeni gelen o beklediğimiz özellikler de harika. Tabii şu anda ne olursa olsun beta, bunun anlamı daha sornaki beta sürümlerinde ya da tam sürümünde başka özellikler eklenebileceği gibi bu beta sürümünde barındırılan bazı özellikler çıkartılabilir ya da değiştirilebilir. Yani gerçek hayat projelerinde kullanmak için çok erken. Ancak sürece bu aşamada bir fiil eşlik etmek lazım ki konuya tam hakim olabilielim ve diğer gelecek sürüm için fikir üretip bunları geliştiricilerine iletebilelim. Bunu çorbada bizimde tuzumuz olsundan ziyade mevcut sürümde gördüğümüz eksikleri paylaşalım ki gelecek sürüm için yol gösterici olsun diye söylüyorum.

Tags: , , ,

MVC

Hakkımda...

Aklıma gelen sorunlara çözümler yazmaya çalışıyorum burada. Eğer çözümünü yazmamı istediğiniz sorunlar varsa,  bana e-posta atın :-)

 Iyi kodlamalar..

RecentComments

Comment RSS

Tag cloud