Sıralama algoritmalarının ilk kısmını içeren yazımda basit sıralama algoritmaları olarak Seçmeli (Selection sort) ve Eklemeli (Insertion sort) sıralama algoritmalarından bahsetmiştim. Bu yazıda gelişmiş sıralama algoritmaları olarak Birleştirmeli (Mergesort) ve Hızlı (Quicksort) sıralama algoitmalarını inceleyeceğim. Bu algoritmaları gerçeklerken hem birleştirme (merge) ve bölümleme (partition) gibi işlemler, hem de özyineleme (recursion) yaklaşımını kullanmış olacağız.

Continue Reading...

Merhaba bu yazımda sıralama algoritmalarını inceleyeceğim. Sıralama algoritmaları çoğumuza üniversite ders sıralarında kalmış görünse de aslında gündelik hayatımızda kullandığımız hemen hemen her teknik aracın işleyişinde rol alıyor. Bundan otuz kırk yıl önce bilgisayar teknolojisinin sunabileceği işlemci, bellek ve sabit disk gibi kaynaklar oldukça sınırlıydı, bu yüzden yapılacak işler için etkili yöntemler kullanmak gerekiyordu. Günümüzde bu kaynaklar kolay erişilebilir hale geldi ama yine de etkili yöntemler kullanmamız gerekiyor, çünkü hala çok daha etkili kullanmak zorunda olduğumuz bir kaynak olan zaman katı bir kısıt olarak karşımızda duruyor.

Çok basit şekilde yaklaşalım, verimliliğe ve karmaşıklığa dikkat etmediğimiz çok büyük sayıda girdiye sahip kötü bir program geliştirdiğimizi düşünelim (lütfen bu sadece kötü bir varsayım olarak kalsın) ve bu programı şu an dünya üzerinde bulunan en gelişmiş bilgisayarda çalıştırma fırsatını bulabiliriz ama bu programın sonuç vermesi için gereken birkaç yılı bulamayız. O yüzden tercihimizi daha az zaman karmaşıklığı içeren algoritmalardan yana kullanmak mantıklı bir yaklaşım olacaktır.

Continue Reading...

Bugün de bir astronomi duyurusu yapıyoruz. 20 Mart Cuma günü (yarın) bir Güneş Tutulması gerçekleşecek. Türkiye’den parçalı tutulma olarak gözlemlenecek olsa da ilgi duyanlar için keyifli bir deneyim olacağını tahmin ediyorum.

Tutulma, İstanbul’a göre 10:52’de başlayacak ve Ay’ın Güneş’i kapatması 11:56’da maksimuma (Güneş’in yaklaşık %30’u) ulaşacak. Eğer bu anı kaçırırsanız 13:01’e kadar Ay’ın Güneş’in önünden çekilmesini gözlemleme şansınız var.

Continue Reading...

Richard Stallman

Esra Altıntaş —  9 Mart 2015 — 2 Comments

Merhabalar,

Geçtiğimiz hafta 28 Şubat Cumartesi Sabancı Üniversitesi’ne, bu hafta 6 Mart Cuma günü de Ankara Üniversitesi’ne Richard Stallman’ı dinlemeye gittik.

Richard Stallman kimdir diye soracak olursanız, ABD’li sistem uzmanı ve yazılım geliştiricisi GNU projesi ve Özgür Yazılım Vakfı’nın kurucusudur. Böylesine önemli bir insanı dinleme şansı bulduğum için şanslıyım. Bu iki konuşmadan sonra bazı konulardaki düşüncelerim olumlu ve olumsuz şekilde değişti.

Stallman konuşmaya başlamadan önce takip edildiğini düşündüğü için o an çektiğimiz her hangi bir fotoğrafını Facebook veya Instagram üzerinden paylaşmamamızı, kesinlikle Apple’ın hiç bir ürünüyle fotoğrafını çekmememizi, her hangi bir MP (Media Player) üzerinden ses kaydı yapmamamızı, ITunes üzerinden hiç bir şey paylaşmamamızı, Youtube’da özgür olmayan Javascript kodlu bir görüntü kaydı olduğu için, orada da her hangi bir videosunu paylaşmamamızı istedi. Ben de yazıma başlamadan önce onun bu isteğine saygı duyarak o konuşmalara ait hiç bir ses kaydı, fotoğraf veya videoyu paylaşmayacağım. Kendim bu bahsettiği araçları kullanmaktan memnun olduğum için de kullanıyorum, bu da benim özgürlüğüm affına sığınıyorum :)

Continue Reading...

Women Techmakers, bir Google markası olup, teknoloji ile ilgili kadınlar için oluşturulmuş bir program. GDG üyelerinin organizasyonu ve destekleriyle her yılın Mart ayında etkinlikler düzenleniyor.

Bu sene WTM Eskişehir ekibine kadinyazilimci ekibimiz destek veriyor. 7 Mart 2015 Cumartesi günü gerçekleşecek etkinlikte, kadinyazilimci ekibi üyeleri atölyeler verecek. Teknolojiye ilgili kadınlarla ; teknik bilgilerinin yanısıra, sektörde yaşadıklarını paylaşacaklar.

Continue Reading...

Bir önceki yazımda Amazon’un bulut bilişim servislerinden bahsetmiştim. Bu yazıda ise bir diğer bulut bilişim hizmeti sağlayıcısı olan DigitalOcean[1]’dan bahsedeceğim. Oldukça basit ve anlaşılır bir web arayüzünden istediğiniz gibi işlemler yapabilirsiniz ancak daha otomatize şekilde çalışmak isterseniz DigitalOcean API’ye elinizi bulaştırmanız gerekmektedir. DO bir sure önce API V2’yi duyursa da hala API V1’e destek veriyor. Bu yazıda inceleyeceğimiz betik API V1 üzerinde çalışmaktadır. API’ye http istekleri yapmak için Python’da requests [2] kütüphanesini kullanmayı uygun buldum.

İlk olarak API’ye bize yeni bir makine yaratması için yapacağımız isteği oluşturan fonksiyonu inceleyelim.

Continue Reading...

Amazon EC2 (Amazon Elastic Compute Cloud) boyutlandırılabilir işlem kapasitesi sağlayan, bulut üzerinde çalışan bir web servisidir. EC2’nin temel amacı geliştiricilerin daha kolay web ölçekli bulut bilişim yapabilmesi olarak ifade edilmiş.[1] Bu yazıda, EC2 üzerinde aynı anda birden çok makine ayağa kaldırmak için kullandığım koddan bir parça anlatacağım. AWS (Amazon Web Service) web arayüzünden dilediğiniz yapılandırma ayarlarına sahip makineler oluşturabiliyorsunuz, fakat ben daha otomatik bir şekilde bu işi yapan bir betiğe ihtiyaç duydum ve bunun için “boto” [2] isimli Amazon web servisleri için Python dilinde bir arabirim kullanmanın uygun olduğuna karar verdim. (Yazı ve örnek kod, kurulum ve yetkilendirme kısımlarının yapılmış olduğunu varsaymaktadır.)

Örneği üç parçada ele alırsak, ilk olarak çalıştırmak istediğimiz makinenin gerekli ayarlarını göreceğiz.

Continue Reading...

Selamlar, sizlere front end developerların işlerini kolaylaştıran Grunt’tan biraz geç de olsa bahsedeceğim. Grunt ile işleri otomatize edip işlerimizi daha hızlı çözebiliriz.

Öncelikle çok kolay bir kurulumu var. Ancak bilgisayarınızda nodejs olması gerekiyor. Yoksa http://nodejs.org adresinden hemen kurulum yapabilirsiniz.

Ardından terminalden;

Continue Reading…

Bu yazımda size Asp projesinde google maps kullanarak harita göstermeye çalışacağım. Öncelikle File’dan new-project diyip ASP.NET Web Application’ı seçip projeye isim veriyoruz.

1

Continue Reading…

Python ile kod yazmak büyük bir avantajdır. Aynı zamanda öğrenilmesi ve kullanılması basit bir dildir. Bu sebeple bu dilde az kod yazarak çok iş yapılabilir. Neredeyse bütün platformlarda çalışması da diğer bir artı yönüdür. Bu dilde oyun geliştirmekte oldukça rahattır.

Pygame Modülü

Python’da oyun geliştirmek için Pygame oyun modülü Continue Reading…