Ana içeriğe atla

Kayıtlar

Ocak, 2022 tarihine ait yayınlar gösteriliyor

AWS, GCP, Azure... Yok mu bu bulutun bir kolayı ?

AWS - Amazon Web Services, GCP - Google Cloud Platform, Microsoft Azure... 3 büyük bulut sağlayıcı. Bulut bilişim konusu biliyorsunuz çok revaçta. Geliştiricilier, proje yöneticileri ve hatta siyasetçiler bile buluttan bahsediyor. İlk başta göze korkutucu geliyor. Bulut bilişim ile ilişkili ve bir manada o sayede mümkün bir çok yeni kavram var. Bahsettiğimiz 3 büyük sağlayıcının her biri yüzlerce farklı servis sunuyor. Tüm detayları konuşmak mümkün değil elbet ama yok mu bu konuya giriş yapmanın, detaylı olarak incelemeden önce ana hatlarıyla konuyu akılda oturtmanın bir yolu ? Bu yazımızda bunu deneyeceğiz.   Nedir bu Bulut Bilişim ? Gelin önce şu "servis" kelimesinden bahsedelim. Çok geniş anlamda kullanılıyor ancak şu yaygın tanımı tam da konumuza göre: "Taşıma, iletişim, elektrik, gaz vb gibi temel ortak ihtiyaçları herkese açık olarak veren sistemler". Elektrik ve gaz kısmını boşverirsek (hele 1 ocak sonrası) bu tanım şu önemli 2 özelliği öne çıkarıyor: O siste...

V for Java - Project Valhalla - 2. Kısım

Project Valhalla ile ilgili yazı dizimizin 1. kısmında Değer Nesneleri ve Sınıfları (Value Object / Class) konusundan bahsettik. İlk yazımızda JVM'in belleği nasıl kullandığı konusuna değinmiştik. Bu yazımızda Java Bellek Modeli'nden biraz daha detaylı olarak bahsedeceğiz çünkü Valhalla'nın sunduğu yeniliklerden olan Primitif Nesne ve Sınıflar (Primitive Object / Class); sentaks seviyesinde yüzeysel bir yenilik olmaktan çok daha derin, Java Bellek Modeli ve modern işlemci mimarileri ile fazlaca ilgili.  Geçen yazımızdaki giriş tarzını sürdürelim. "Primitif" ve "nesne" nedir biliyoruz, bir önceki yazıda JVM ve bellek açısından farklı olduklarını da konuştuk, o halde "primitif nesne" olur mu ? Gelin beraber inceleyelim. Java Bellek Modeli (Thread'ler ve Frame'ler) Java Bellek Modeli çok daha detaylı bir yazıyı gerektirir ancak biz bu yazıda Project Valhalla kapsamında özellike primitif nesne ve sınıflar için gerekli olan kadarından bahse...

V for Java - Project Valhalla - 1. Kısım

Project Valhalla OpenJDK tarafından yürütülmekte olan bir proje. Java'nın tip sistemi ile ilgili Java programlama dili ve JVM üzerinde yapılabilecek geliştirmelerin araştırıldığı ve adım adım sona yaklaşan bu proje bir takım ilginç yenilikler sunuyor. Bunları: Value objects / value classes (Değer nesneleri, değer sınıfları) Primitive objects / primitive classes (Primitif nesneler, primitif sınıflar) Primitif ve nesne tiplerinin birleştirilmesi olarak sıralayabiliriz. Tip sistemleri ile ilgili daha teorik bilgi için ilgili yazımıza göz atabilirsiniz. Güzel de, "value" nedir, "object" nedir biliyoruz ama "value object" neyin nesidir ? Gelin beraber bir göz atalım.     Primitifler, Sınıflar ve Kimlik (Identity) Java Tip Sistemi; 8 pritimif (byte, short, int, long, float, double, char ve boolean), nesne (object) ve dizi (array) olmak üzere 10 tanımlı tipten oluşur. Primitif tipler ile ifade edilemeyen daha karmaşık veri yapıları  (örneğin bir string yani ...

Tip Sistemleri ve Programlama Dilleri

Tip Sistemi kavramı, günlük hayatlarının bir parçası olmasına rağmen bir çok yazılım profesyoneli için bile kulağa yabancı gelebilir. Tip Sistemleri; matematik ve mantık dallarındaki zengin bir konu olan "Tip Teorisinin" yazılım geliştirme ve programlama dillerine bir yansımasıdır. Tip sistemlerinin programlama dilleri için oldukça önemli ve belirleyici olduğunu söyleyebiliriz.  Bu yazıda herhangi bir programlama diline odaklanmadan teorik düzeyde tip sistemlerinden bahsetmekle yetineceğiz. Tip sistemleri; bir programlama dilindeki değişken, fonksiyon vb yapı taşlarınının kullanım ve birbirleri ile etkileşimlerini, belli kurallara bağlayarak, oluşabilecek belirsizlikleri ve hataları engellemeye yönelik mantıksal sistemlerdir. Havalı cümlemizi kurduğumuza göre daha anlaşılır olarak açıklamak gerekirse örneğin bir değişkenin hangi türde değerleri tutabileceği bir fonksiyonun hangi türde parametrelerle çağrılması gerektiği yine bir fonksiyonun bir değer üretip üretmediği ve üre...