29 Haziran 2017 Perşembe

2017 Yılının En Popüler Programlama Dilleri

Farklı kurumlar tarafından  yazılım programlama dilleri ile ilgili yapılmış listeler bulunmaktadır. İş arama, ücretler ve yeni geliştirilen teknolojiler gibi farklı alanların sıralandığı bu listelerin, 2017 yılında yapılanlarına baktığımızda, farklı programlama dillerinin listelerde olduğu görülmektedir.
Yapılan araştırmalardaki sıralamalar çeşitlilik göstersede; Java programlama dili, Phython programlama dili, JS programlama dili ve R programlama dili pek çok listede üst sıralarda görülmektedir. Listede bulunan diğer popüler programlama dillerinden bazıları ise şunlardır; C++, C#, C, Objective-C, Swift, Ruby, PHP, Perl, Go, Scala, Shell


Kaynaklar:

Yarn ( Js için Paket Yöneticisi)

Java Script (JS) ile kod geliştirenler tarafından yıllardır paylaşılan yüz-binlerce satır kod bulunmaktadır. JS ile proje geliştirenler daha önceden geliştirilmiş bu kodları kullanarak farklı uygulamalar oluşturmuştur. Kendi geliştirdiğimiz projeler içerisinde kullandığımız ve başkaları tarafından geliştirilen her bir kod satırı yüzünden geliştirdiğimiz programlar daha önceden geliştirilen kod parçalarına bağımlı olmaktadır. Örnek olarak JS geliştiricileri tarafından bilinen ve en popüler paket yöneticisi olan npm içerisinde 300.000'den fazla paket bulunmaktadır ve 5 milyondan fazla mühendis tarafından kullanılmaktadır. Bu kadar fazla kişi tarafında geliştirilen ve kullanılan npm'nin özellikle büyük sistemlerde güvenlik ve performans sorunlarına yol açabileceği görülmüştür. Exponent, Google ve Tilde tarafından geliştirilen Yarn ile npm kullanılsa da paket yönetimi, paket oluşturma, kurulum ve sistem güvenliği gibi konular daha etkin bir şekilde kullanılmaktadır.

REDIS (Farklı Bir Veri Tabanı)

Redis açık kaynak kodlu bir veri-tabanıdır. Remote dictionary servers kelimelerini baş harflerinin bir araya gelmesi ile oluşturulmuştur. VMWare desteği ile 2013 yılında Salvatore Sanfilippo tarafında geliştirilmiştir. Redis'te bütün veri setleri (datasets) bellekte saklandığından verilere çok hızlı bir şekilde ulaşılarak okuma ve yazma işlemleri gerçekleştirilebilir. Datasetler diskte saklanabilir. Redis içerisinde büyük veri işlemleri için alt süreçler oluşturulabilir. Pek çok farklı veri yapısını desteklemektedir (örnek olarak strings, hashes, lists, sets, sorted sets, bitmaps, hyperloglogs ve geospatial indexler.).  Dünya çapında bilinen Twitter, Instagram, Stackoverflow, Flickr, Github, Blizzard gibi pek çok farklı şirket tarafından kullanılmaktadır. Redis'in temel amaçlarından biri sistemlerde oluşacak karmaşıklığın giderilmesidir. Hızlı olmasının yanı sıra, geniş çaplı bir kullanım desteği bulunan Redis güvenilir ve sistemi yormayan bir yapıya sahiptir

20 Haziran 2017 Salı

Dünyanın En Hızlı Bilgisayarlarının Listesi

Top500.org tarafından Dünya'nın en hızlı 500 bilgisayarının listesi yayınlandı. Yayınlanan listede ilk iki sırayı Çinli  Sunway TaihuLight ve Tianhe-2 (MilkyWay-2) bilgisayarları aldı. İlk on sıra içerisinde Amerika'dan beş, Çin'den iki, İngiltere, Japonya ve İsviçre'den ise birer  bilgisayar bulunmakta.


İlk sırada bulunan  Sunway TaihuLight bilgisayarının özelliklerine bakacak olursak; bilgisayarın 10,649,600 çekirdeği (Core) bulunmakta. 15,371 kW enerji tüketen bilgisayarın, RAM değeri ise 1,310,720 GB. Sunway TaihuLight isimli bilgisayarın işlemci hızı ise 93,014.6 TFlop/s. Bilgisayarın Sunway Raise OS 2.0.5 adında bir işletim sistemine sahip. Geliştirilen bilgisayar hesaplama işlemlerinin çok yoğun olduğu big data işlerinde kullanılmakta.

TFlop Nedir?
Floatingpoint Operations Per Second (Flop); kayan nokta hesaplamalarında ya da bilimsel hesaplamalarda kullanılan bir metriktir ve noktadan sonraki rakamları işaret eder. TFlop ise saniyede kayan nokta işlemlerini ölçmek için kullanılır. 1 TFlop 10 üzeri 12 Flops'a eşittir. Bu ölçü birimi sayesinde bir CPU'nun saniyede kaç işlem yapacağı hesaplanabilir.

Terragen ile Kendi Manzara Resimlerinizi Oluşturun

Terragen; oldukça gerçekçi mekanlar oluşturabileceğiniz bir yazılımdır. Kişisel kullanım için ücretsiz olan araç ile gerçekçi mekanlar oluşturulabilir. Terragen ile sadece resim dosyaları değil aynı zamanda videolarda oluşturulabilirsiniz. Dosya boyutu olarak sadece 2Mb lık bir program olmasına rağmen oldukça güçlü özelliklere sahiptir. Oluşturulan mekanlar içerisine katmanlar halinde kaya parçaları, su, bulut, ışık, vb eklentiler yapılabilir. Oluşturulan ortam  objeye dönüştürerek istenilen bir programlama dili içerisinde kullanılabilir.

Programın indirme adresi Terragen(indirme linki)
Terregen Kullanımı



Terragen ile oluşturulmuş sanat eseri gibi gözüken (bazıları bilim kurgu filmlerinden çıkmış gibi gözüken) resimlerden bazıları aşağıda verilmiştir. Resimlerin üzerine tıklayarak çizim detaylarını görebilirsiniz.

 







Java 3D Terragen Kullanımı (Kaynak kodları verilmiştir.)

 


15 Haziran 2017 Perşembe

Full Calender

Full Calender; JS ile oluşturulmuş bir etkinlik takvimi uygulamasıdır. Açık kaynak kodlu bir yapıya sahip olan Full Calender https://fullcalendar.io/download/ sitesinden indirilebilir. jQuery kullanımı sürükle bırak özellikleri ve açıklayıcı yardımcı dökumanlara sahip olan bir uygulamadır. Full Calender'ı kendi oluşturuduğunuz web uygulamaları içerisine kolayca ekleyebilirsiniz.


13 Haziran 2017 Salı

Android Uygulamaları Bilgisayarınızdan Çalıştırın

Geliştirilen mobil uygulamaları test etmek için kullanılan en güzel araçlar emulatorlerdir. Bu emulatorler arasında gelişmiş ve farklı özellikleri ile öne çıkan ve Dünya'da 130 milyondan fazla insanın kullandığı BlueStack emulatorünü ücretsiz olarak http://www.bluestacks.com/ adresinden indirebilirsiniz. Normalde kullandığımız emulatorlerde olmayan konum bilgisi alma, uygulamayı tam ekran çalıştırma gibi pek çok ek özelliği yanında barındıran bir emulatordür. Windows ve Mac PC'lerde çalışan BluseStack emulatorü ile mobil uygulamaları cep telefonuna ya da tablete gerek olmadan kullanabilirsiniz.



Unity ile Oyun Geliştirin

Günümüzde hızla gelişen oyun sektöründe farklı firmalar tarafından oluşturulan oyun geliştirme platformları bulunmaktadır. Bunlar arasında sahip oldukları oyun motorları, gelişmiş arayüzleri ve platform bağımsızlığı özellikleri ile Unreal Engine, Unity ve CryEngine'ın öne çıktığını söyleyebiliriz. Bu üçlü arasında oyun geliştirme açısından ücretsiz olan ve C# yada JS (Java Script) ile oyun geliştirmemize imkan veren Unity'yi ayrı bir kategoride değerlendirilebilir.

Kişisel kullanım için ücretsiz olan Unity ile; 2D yada 3D oyunlar geliştirilebilir. Yüksek optimizasyon gücü ve Rander kabiliyeti ile öne çıkan Unity pek çok farklı platformu desteklemektedir. Unity ile oluşturduğunuz oyunları aşağıdaki resimde de gösterilen 27 farklı platformda oynayabilirsiniz. 


Unity ile geliştirilen oyunlara örnek olması için Hamza Kapucu tarafından geliştirilen KO isimli oyuna bakabilirsiniz. KO oyunu kendi içerisinde envanter ekleme, obje toplama, vb özellikleri içermektedir. Oyunun kodlarına yandaki Github linkinden erişilebilir.



Unity ile geliştirilen farklı bir örnek için aşağıdaki videoya da bakabilirsiniz. Unity 3D FPS Multi Mode



Unity eğitimi için Türkçe ve İngilizce eğitim videoları

Microsoft Açık Akademi Unity Eğitimi

YouTube Eğitim Video Serisi -1

YouTube Eğitim Videosu Serisi-2




12 Haziran 2017 Pazartesi

Nasa'nın Geliştirdiği Yazılımlarının Kaynak Kodlarına Ulaşın

Daha önceden geliştirdiği yazılımlar ile ilgili bazı metrikleri erişime açık hale getiren Nasa; şimdiye kadar geliştirdiği pek çok farklı yazılım projesinin kaynak kodlarınıda erişime açık hale getirdi. Erişime açık hale getirilen yazılımların kataloğu yan tarafta verilen linkte bulunmaktadır. Açık Kaynak Kodlu Projeleri

Bu yazılımlara ait kodları indirmek için yapmanız gereken https://software.nasa.gov/ sitesine kayıt olmak. Kayıt olduktan sonra istediğiniz yazılım için istek göndermeniz mümkün. İstek gönderme süreci biraz  uzun sürmektedir ve isteyin kabul edilmesi  sistem yoğunluğundan dolayı biraz vakit almaktadır.


En çok indirilen yazılım projelerinden bazıların isimleri aşağıda verilmiştir.

  • NASA/Air Force Spacecraft Charging Analyzer Program (NASCAP-2K), 
  • Mars Global Reference Atmospheric Model (Mars-GRAM) 2010 Design and Integration Tools
    System Identification Programs for AirCraft (SIDPAC)
  • Orbital Debris Engineering Model (ORDEM), Version 3 Environmental Science
  • OVERFLOW 2: Over set Grid  Computational Fluid Dynamics (CFD) Flow Solver with Moving  Body Capability Design and Integration Tools
  • Chimera Grid Tools, Version 2.1 Aeronautics
  • Multi-Attribute Task Battery (MATB-II) Event File Builder (EFBt) Crew and Life Support
  • Schedule Test and Assessment Tool (STAT), Version 5.0 Business Systems and Project Management
  • Knife, Version 1.0 Design and Integration Tools 
  • Project Cost-Estimating Capability