2012 senesinin başlarında, matematikçi Ian Stewart "Bilinmeyenin İzinde: Dünya'yı Değiştiren 17 Denklem" başlıklı kitabını yayımladı ve insanlığın tarihinde keşfedilen 17 matematiksel denklemi, bilimsel yoğunluğundan kurtararak, herkes tarafından anlaşılabilir bir hale soktu. Prof. Dr. Ian Stewart'a bu kitabını neden yazmaya karar verdiği sorulduğunda şöyle yanıt veriyor:
25 Ekim 2013 Cuma
23 Ekim 2013 Çarşamba
SpiderMonkey Javascript Motoru - Basit Bir Uygulama
Önceki yazıda bahsettiğimiz üç temel bileşenin her birinin gerektirdiği ilgili JSAPI fonksiyonlarını açıklayacak olursak:
- Runtime: Runtime'ı oluşturmak için JS_NewRuntime, işimiz bittiğinde yok etmek için JS_DestroyRuntime kullanılır. Uygulamanın SpiderMonkey'le işi bittiğinde ayrılmış kaynakları tamamen bırakmak için JS_ShutDown kullanılır.
- Context: Context'i oluşturmak için JS_NewContext ve JS_DestroyContext kullanılır. ECMAScript standartlarına azami uyum için uygulamaların JSOPTION_VAROBJFIX'i JS_SetOptions'u kullanarak aktifleştirmeleri gerekir. En son Javascript dil özelliklerini almak için ise JS_SetVersion kullanılabilir. Ayrıca her context için hata raporlama JS_SetErrorReporter kullanılarak sağlanabilir.
- Global Nesne: Bu nesneyi oluşturmadan önce JSCLASS_GLOBAL_FLAGS opsiyonuna sahip bir JSClass'a ihtiyacımız var. Aşağıda verilen örnekte metotları ve özellikleri olmayan çok basit bir JSClass (global_class isminde) tanımlanmıştır. Ardından global nesneyi oluşturmak için JS_NewGlobalObject'i kullanmamız gerekiyor. Daha sonra bu global nesnemizi standart javascript global nesneleriyle doldurmak için JS_InitStandardClasses kullanılır.
Etiketler:
c,
c ve c++,
c++,
javascript engine,
javascript motoru,
mozilla,
spidermonkey
3 Ekim 2013 Perşembe
SpiderMonkey Javascript Motoru
SpiderMonkey Mozilla isimli kuruluşun geliştirmekte olduğu bir Javascript motorudur. Buradan anlaşılacağı üzere bir API (Application Programming Interface) kütüphanesidir ve geliştirici, uygulamalarında javascriptin sunduğu kolaylıklardan bu Api aracılığı ile faydalanabilir. Bu, Browserlara özgü Dom nesnelerinin uygulama içerisinde kullanılabileceği anlamına gelmemeli zira Dom, browser spesifik bir yapıdır. SpiderMonkey ise bazı temel javascript veri tiplerini, sayılar, nesneler ve dizileri vs. ve bazı temel javascript metotlarını geliştiriciye sunmaktadır. Uygulama geliştirici kendi bileşenlerini (nesneler, sınıflar, metotlar, diziler vs.) kendisi oluşturur ve SpiderMonkey'e bunları kullanacağını bildirir.Anlaşılır olması açısından bu hususla ilgili bir iki örnek vermek gerekirse Excelde (vbscript ile) yapılan uygulamalar ya da günümüz oyunlarında (lua vs. ile) farklı modların geliştirilebilir olması sundukları script desteği sayesinde olmaktadır. Bu sayede kullanıcı uygulamayı ileri düzeyde özelleştirebilmekte ve uygulamanın çekirdeği üzerinde yeni uygulamalar geliştirebilmektedir. Heyecan verici değil mi :) O zaman sözü uzatmadan hemen yazımıza geçelim.
Etiketler:
c++,
javascript,
javascript motoru,
jsapi,
spidermonkey
13 Temmuz 2013 Cumartesi
Harf Notu Hesaplama Programı
Lisans yıllarında not hesaplamak için kağıt kalemle uğraştığım zamanlar aklıma gelince neden ufak bir program geliştirmediğimi düşündüm geçenlerde. Un var yağ var şeker var e neden helva yapmayalım dedim kendi kendime ve biraz da can sıkıntısını atmak için Visual Studio'da ufak bir program geliştirdim. Yarım saatlik çalışmanın ürünü program Gazi Üniversitesi'nin harf notu sistemine göre hesaplama yapmakta. Program çok basit sadece sağ tarafındaki "+" tuşuna basarak eklemek istediğiniz kadar ders ekliyorsunuz. Ardından dersin kredisini yazı giriş alanına giriyorsunuz, harf notunu seçiyorsunuz ve "=" tuşuna bastığınızda sonucu hesaplıyor. Evet sözü uzatmadan programı da vereyim. Kaynak kodu içinde. Programı Buradan indirebilirsiniz.
Etiketler:
c#,
csharp,
harf notu,
harf notu hesaplama,
programlama,
visual studio,
yazılım geliştirme
25 Mayıs 2013 Cumartesi
İleri Biyolojik Bilgisayar Geliştirildi
ScienceDaily.com adlı internet sitesinin haberine göre İsrail Teknoloji Enstitüsü Technion'daki bilim adamları yalnızca biyomoleküller kullanarak ileri bir transdüser geliştirdiler. Bu makine sayesinde genetik kodlar manipüle edilebiliyor ve akabindeki hesaplamalara girdi olarak kullanılabiliyor. Sitede buluşun ilerde birey gen tedavisi ve klonlama gibi konularda biyoteknoloji alanında yeni olanaklar oluşturabileceğinin altı çiziliyor.
Etiketler:
biyoloji,
biyolojik bilgisayar,
biyoteknoloji,
ileri teknoloji,
kimya,
nanoteknoloji
29 Aralık 2011 Perşembe
C ve C++'ta İşaretçiler (Pointers): İşaretçi Türleri ve Diziler
Evet işaretçilere kaldığımız yerden devam ediyoruz. Şöyle bir işaretçi değişken bildirimi yaptığımızı düşünelim:
Bu işaretçinin gösterdiği değişkenin türünü neden tanımlamamız gerektiği üzerine düşünerek konumuza başlayalım.
Bunun nedeni,
yazdığımızda derleyicinin ptr ile gösterilen bellek konumuna ne kadar bayt kopyalayacağını bilmesi içindir. Eğer ptr bir tamsayı (integer) işaretçisi olarak bildirilmişse 2 bayt kopyalanacak, eğer uzun tamsayı (long) olarak bildirilmişse 4 bayt kopyalanacaktır. Aynı şekilde ondalıklı (float) ve çift duyarlıklı ondalıklı (double) sayılar için de uygun miktarda bayt kopyalanacaktır. Fakat işaretçinin gösterdiği türün tanımlanması derleyicinin, kodu farklı yöntemleri kullanarak yorumlamasına izin verir. Mesela bellekte bir satırda on tamsayıdan oluşan bir bloğumuz olsun. Bu on tamsayıyı tutmak için 20 bayt bellek ayrılacaktır.
int *ptr;
Bunun nedeni,
*ptr = 2;
yazdığımızda derleyicinin ptr ile gösterilen bellek konumuna ne kadar bayt kopyalayacağını bilmesi içindir. Eğer ptr bir tamsayı (integer) işaretçisi olarak bildirilmişse 2 bayt kopyalanacak, eğer uzun tamsayı (long) olarak bildirilmişse 4 bayt kopyalanacaktır. Aynı şekilde ondalıklı (float) ve çift duyarlıklı ondalıklı (double) sayılar için de uygun miktarda bayt kopyalanacaktır. Fakat işaretçinin gösterdiği türün tanımlanması derleyicinin, kodu farklı yöntemleri kullanarak yorumlamasına izin verir. Mesela bellekte bir satırda on tamsayıdan oluşan bir bloğumuz olsun. Bu on tamsayıyı tutmak için 20 bayt bellek ayrılacaktır.
Etiketler:
c,
c ve c++,
c++,
c++'ta işaretçiler,
cpp,
göstericiler,
işaretçiler,
pointers,
programlama,
yazılım geliştirme
27 Aralık 2011 Salı
C ve C++'ta İşaretçiler (Pointers)
Merhabalar, uzun zamandan beri blogumla ilgilenemedim. Bir süredir C ve C++'da önemli bir konu bir bel kemiği konusu olan İşaretçiler (Pointers) konusunda internette araştırmalar yapıyordum. İşaretçiler birçokları için korkulu bir rüya. Ancak işaretçiler
konusu anlaşılmadan tam anlamıyla bir C programcısı olmak çok zor hatta
imkansız. Bu konuda internete bulduğum bir dökümandan biraz yazmak istiyorum.
İşaretçiler kapsam olarak çok geniş. Ancak yazı kısa tutulmuş ve en basit konu olan değişken kavramından başlayarak aşama aşama ilerlenmiş. Son olarak fonksiyon işaretçileriyle konu tamamlanmış.
Hazırsak başlayalım.
İşaretçiler kapsam olarak çok geniş. Ancak yazı kısa tutulmuş ve en basit konu olan değişken kavramından başlayarak aşama aşama ilerlenmiş. Son olarak fonksiyon işaretçileriyle konu tamamlanmış.
Hazırsak başlayalım.
Etiketler:
c,
c ve c++,
c++,
cpp,
göstericiler,
işaretçiler,
pointers,
programlama,
yazılım geliştirme
Kaydol:
Yorumlar (Atom)

