6 Temmuz 2017 Perşembe

Kodlama Öğrenimi için Kullanılabilecek Yabancı Kaynaklar


Kodlama öğrenimi için kullanılabilecek ve oldukça yararlı 3 farklı yabancı kaynak aşağıda verilmiştir.

1. Coursera: Pek çok farklı tanınmış üniversitenin derslerine erişim için kullanabileceğiniz güzel bir web sitesi https://www.coursera.org/

 2.Codecademy: Sıfırdan kod öğrenimi için kullanılacak bir kaynak. Web sitesi https://www.codecademy.com/



3.Udacity Sıfırdan kod öğrenimi için kullanılacak bir kaynak. Temel dersler ücretsiz. Web sitesi https://www.udacity.com/


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

Google'ın Yapay Zeka Oyuncakları

Google'ın AI (Yapay zeka) çözümleri ile çizimlerinizi profesyonel hale getirin. Tek yapmanız gereken Google'ın güçlü makine öğrenim algoritmalarını kullanan https://www.autodraw.com/ sitesini açmak. Arkasından bir nesne düşünüp, açılan ekranda Paint'te çizim yapar gibi çizmek. Autodraw siniz ne çizmek istediğinizi algılayıp, ekranın üst kısmında  bulunan alternatifleri sıralamakta. "Do you mean" yazısının sağ tarafında görülen ve profesyoneller tarafından çizilmiş alternatiflerden her hangi birine tıkladığınızda, sizin çiziminizi bu çizim ile değiştirmekte.



AutoDraw sisteminden farklı olarak bize çizmemiz için çeşitli nesneler söyleyen sistemde amacımız 20 saniye içerisinde QuickDraw'ın çizmemizi istediği nesneleri AutoDraw'daki gibi ekranın içerisine çizmek. QuickDraw'ı kullanarak AutoDraw'ın yapay zekasını gelişmesine yardımcı olabilirsiniz.


Google Lens
Google'ın geçen ay duyurusunu yaptığı Google Lens Uygulaması ile cep telefonları kameralarına yapay zeka teknolojileri geliyor. Uygulama sayesinde, çektiğiniz bir fotoğrafta bulunan bir çiçeğin, hangi çiçek olduğunu bulabilir yada çektiğimiz fotoğraftaki bir lokantanın nasıl bir lokanta olduğunu öğrenebiliriz. 2017 yılı içerisinde kullanıma sunulması düşünülen uygulamanın bazı ek özellikleri de barındıracağı söylenmekte.


Aiexperiments
Google tarafından hazırlanan diğer yapay zeka çözümlerinden bazıların yer aldığı diğer bir site ise;





2 Haziran 2017 Cuma

İşletim Sistemleri Tarayıcıda

Pcjs sitesi; eskiden kullandığımız pek çok farklı işletim sistemini, kuruluma gerek olmadan online olarak, browser üzerinden çalıştırmamıza izin veren güzel ve kullanışlı bir web sitesidir. Site içerisinde onlarca işletim sistemi bulunmaktadır. İşletim sistemini açmak için tek yapmanız gereken sitenin web adresini tıklamak ve web sayfasının alt kısmında görülen işletim sistemlerinden birini seçmek.

Örnek olarak Windows 95 işletim sistemini açabilirsiniz. İşletim sistemlerinin yüklenmesi 5 ila 10 saniye arası vakit alacaktır. Diğer işletim sistemlerinden örnekler aşağıda verilmiştir. Linkleri tıklayarak istenilen işletim sistemlerinden birini açabilirsiniz.

  1. Windows 1.0 
  2. Windows/386 2.01 
  3. Windows 3.0 
  4. Windows 3.1 
  5. IBM PC 5150 (İlk kişisel bilgisayarlardan biri olarakta bilinmektedir.) IBM PC 5150 hakkında daha detaylı bilgi almak ve o dönemin bilgisayarlarını tanımak için OldComputers sayfasınıda ziyaret edebilirsiniz.

Windows 95

Windows 3.1

İşletim sistemi ekranından çıkmak için ESC tuşuna basabilirsiniz. Ekranın sağ tarafında bulunan Full Screen butonu kullanılarak işletim sistemini tam ekran olarak kullanabilirsiniz. Her ne kadar tarayıcı üzerinden çalışan javascript kodları ile yazılmış olsada kullanım ve görsellik açısından pek çok ihtiyaca cevap verebilecek durumdadır.

Virtual Desktop uygulaması ise aynı amaç için kullanılabilecek başka bir web sitesi adresidir. Aşağıda siteden alınan Macos 10 4 Tiger işletim sistemi görülmektedir.

30 Mayıs 2017 Salı

Online IDE

Bilgisayarınıza gerekli programları kurmadan, farklı programlama dillerinde geliştirilen kodları online olarak çalıştırabilirsiniz. Tek yapmanız gereken aşağıdaki online ide sitesine gidip, hangi programlama dilinde kod yazacağınıza karar vermek. Yazdığınız kodları çalıştırmak için sitenin sağ alt koşede bulunan yeşil Run tuşuna tıklamak. Yazdığınız kodlarda hata yaksa, kodlarınız direk o site üzerinden derlenerek çalışacaktır.

Sitenin desteklediği programlama dillerden bazıları:Pascal, C, Perl, C#, PHP, C++, Python,  C++14, Python 3, Haskell, Ruby, Java, SQLite,  Objective-C, Swift, Pascal, Ada95,  Common Lisp,  Prolog, Assembler 32bit, Common Lisp,  Python,    Assembler 32bit,    D, Python 3 nbc, Assembler 64bit, Lua, Racket, AWK, Dart,    Nemerle, Rust, BC, Elixir, Nice, F#, Scheme, C++ 4.3.2

Online ide:  https://ideone.com/





Sculptris

Sculptris programı ile 3D mekanlar yada 3D karakterler oluşturabilirsiniz. Oluşturudğunuz karakterleri Unity gibi oyun geliştirme platformlarına ekleyebilirsiniz. Diğer 3D karakter yada mekan oluşturma programlarına daha göre kolay bir kullanışa sahip olan programı internetten ücretsiz olarak indirebilirsiniz. Programın internet adresi http://pixologic.com/sculptris/gallery/

 


Örnek olarak aşağıdaki iki eğitim videosuna bakabilirsiniz.






VB C# kod Dönüşümü

Telerik sitesi; VB.net kodlarını C#'a, C# kodlarınıda Vb.net'e dönüştürmek için kullanılacak bir web sitesidir. Sitenin internet adresi:http://converter.telerik.com/
 



Yazılım Lisans Anlaşmaları

Tldrlegal sitesi; GNU, BSD gibi pekçok farklı lisans anlaşmasının detaylarını (Quick Summary özelliği sayesinde) görebileceğimiz ve lisans kapsamı içerisinde hangi haklara sahip olduğumuzu gösteren bir web sitesi. Hızlı ve kolay bir arama imkanı sunan bu web sitesinin internet adresi: https://tldrlegal.com/



15 Mayıs 2017 Pazartesi

Yazılım Mühendisliği Uygulamaları (Tez Dersi Dökümanları)


Tez Öneri Formunun Gönderim Tarihi 1 hafta ertelenmiştir. Tez öneri formu (II.Öğretim 25 Mart -I.Öğretim 26 Mart tarihine kadar)  cbuyzm4101@gmail.com adresine gönderilecek ayrıca çıktı alınıp derste teslim edilecektir.)

1-)Tez Önerisi Şablonu (Öneri Formu)

2-)Tez Şablonu (Boş Hali)

3-)Örnek Tez (Örneğin ufak tefek eksiklikleri var, örnek tam olmasada elinizde bulunsun. )

27 Nisan 2017 Perşembe

Extreme Programing Nedir?


Extreme Programing  (XP): Kent  Beck  tarafından  bir  yazılım  geliştirme  disiplini olarak  XP  ortaya  çıkarılmıştır ve grup  içi  iletişime  çok  önem  veren  bir  yazılım  geliştirme  yöntemidir. XP ile proje  yaşam döngüsü (life cycle) çerçevesinde proje geliştirimi sağlanır. Proje  yaşam döngüsü bazı uygulamalara (practices) bağlıdır. Yazılım geliştirmede kolaylığı ve esnekliği sağlamak için; XP 12 farklı uygulamayı öngörür.

Extreme Programing Avantajları

Hata oranını azaltma
Yazılımın erken safhasında somut gelişmeler sağlaya bildiğinden, oluşan hataların farkına varabilir.Bu hataları da kendi içerisinde oluşturduğu küçük yaşam döngüleri ile telafi edebilir.
Projenin gelişme süresini kısaltır.
Artırımsal yaklaşım sayesinde hızlı bir şekilde genel planın oluşması sağlanır.Burada aynı bütün ekip tarafından proje süresi tahmini de yapılır.
Değişikliklere izin verir.
Esnek iş yürütme ve fonksiyonellik sayesinde, işletmenin değişen ihtiyaçlarına cevap verir
Yazılımsal olarak ortaya çıkabilecek tıkanıklıkları azaltır.
Müşteriler ile birlikte monitörlerden programcılar ve müşteriler ortak bir şekilde test yaparak ileride tıkanıklıkların ortadan kaldırılmasını sağlarlar.




Extreme Programing 4 Temel Noktası

İletişim
XP in ilk temel taşı iletişimdir. Projelere baktığımızda ortaya çıkan önemli problemlerin insanların birbirleriyle tam olarak anlaşamaması nedeniyle olduğunu görünür. Bazen programcılar sormaları gereken doğru soruyu soramazlar. Bazen de projenin yapısıyla ilgili önemli bir gelişmeyi söylemezler. Bu yüzden projelerde çeşitli tıkanma noktaları olabilir. Bazen de proje yöneticileri programcılara belirtmeleri gerekenleri tam olarak belirtemezler. Bu da projenin gelişme sürecilerini olumsuz etkiler. XP de iletişim yüz yüze olmalıdır. İletişim sürekliliği olmalıdır. Yazılım ekibi ile yazılımı kullanacaklar arasında sıkı bir iletişim bağı olması esastır. Bu sayede sorunlar erken fark edilir.


Basitlik
XP in ikinci temel taşı basitliktir. Aslında basitlik sağlanması zor olan bir konudur. Basitlik, zorunlu işlerin yapılmasıdır. Gerekli olmayan bir şey varsa, kesinlikle bu konu XP basitlik ilkesi içerisinde olmamalıdır. Dünyadaki en zor şey gelecekte ne gibi ihtiyaçlarla karşılaşacağımızı bilmemektir. Bu nedenden dolayı oluşturulacak yapı, gelecekte ne gibi isterlerin ortaya çıkacağını tam olarak bilmeden oluşur. Buna göre esnek zaman ve maliyeti göz önüne alınmış bir yapı oluşturmak gerekmektedir. XP en iyi şekilde bu basitliği sağlamak için, bu günün ihtiyaçlarını hedef alarak esnek ve basit bir sistem gerçekleştirmeye çalışır. 


Geri Besleme
Sistemlerin geri dönüşümü olması sistemler için paha biçilemez bir fırsat yaratır. Geri dönüşüm sayesinde optimizasyonun oluşmasına engel olan tehlikeler ortadan kaldırılır. Öncelikle programcılar bütün sistemin mantıksal yapısını içeren bölüm testleri oluşturur. Programcılar sistem hakkında somut bilgiler elde ederler. Müşteriler yeni bir “stories” hikâye ile geldikleri zaman, programcılar hemen bu yeni gelen hikâyenin gerçekleşmesi ile ilgili çalışma yapıp bu “stories” e uygun bir çalışma gerçekleştirirler.


Cesaret
XP in dört temel noktasından en zoru cesarettir. Projelerin üzerine yılmadan gidilmesi projelerin geliştirilmesi açısından son derece önemlidir. Cesaretin olmadığı projelerde korku gelişir ve gelişen bu korku projeyi başarısızlığa iter. Yazılım işlerindeki başarısızlık ise; yazılımın çöpe gitmesidir ve maalesef genel duruma da baktığımızda yazılımların büyük bir kısmının çöpe gittiğini görünyorur. Başarısızlık, genel tabiat içerisinde olan bir durumdur. Başarısızlıktan korkmak yerine başarısızlığı oluşturan nedenler üzerine gitmek yerinde olacaktır. Başarısızlıkla mümkün olunan en kısa sürede karşılaşmak, daha sonra telafi etme şansını arttırır.

Extreme Programing 12 Uygulama
Planlama Oyunu
Ekipte müşteri
Müşteri Testi
Basit Tasarım
Çiftli Programlama
Sürekli Tümleştirme
Kısa sürümler
Yeniden yapılandırma
Ortak sahiplenme
Metaphor
Kodlama standardı
Kırk saat haftada  



Extreme Programing  Çalışma Mantığı

 


 









Riskler ve Risk çözümleri

Extreme Programing Korkmadıkları
Kodlama
Değişen fikirler
Geleceği bilmeden yol alabilmek
Çalışan bir sistemin yapısının değişmesi
Testler yazılması



Extreme Programing Roller
Müşteri
Yazılım geliştirme sorumlusu
Test sorumlusu
Ölçüm sorumlusu
Koç
Danışman
Yönetici

Agile Sistemler

Agile sistemler klasik methodlara duyulan eleştiriler nedeniyle ortaya çıkmıştır.

Klasik Metotlara Olan Eleştiriler

Sürüm yani çalışan program çok geç ortaya çıkıyor.
Sürüm çok geç çıktığı için hatalar çok geç anlaşılıyor.
Verimli değil.
Esnek değil, yeni gelen isterler doğrultusunda kendi yapısını değiştiremediği için yeni isterleri karşılayamıyor.
Değişiklik geç ve zor yapılıyor.




Agile Metodolojiler

Extreme Programing
Scrum
Crystal Family
Rup

17 Nisan 2017 Pazartesi

Milli İmkanlarla Üretilen Bilişim Sistemleri

1-)Linux Tabanlı İşletim Sistemi Pardus



2-) Mini Bilgisayar Poyraz



3-) Virüs Programı Chomar



Web Sayfası: https://www.chomar.com.tr/en/page.aspx


4-) Mount & Blade 2




10 Nisan 2017 Pazartesi

GitHub Kodları & GitHub Kullanımı



Git bir versiyon kontrol programıdır. Git sayesinde proje içerisinde bulunan dosyaların gelişimi takip edilebileceği gibi aynı zamanda eski versiyonlara kolayca erişilip o versiyonlar üzerinden değişiklikler yapılabilir.

---- Git Kurulum----
Git Kurulumu oldukça basittir.Kullandığınız Windows yada Linux işletim sistemine göre https://git-scm.com/downloads sitesinden ücretsiz olarak bilgisayarınıza Git programını indirebilirsiniz.
Kurulum sırasında sadece "Use Git from Git Bash only" seçeneğinin seçili olduğunu kontrol edin.



----Git ilk Kullanım----
Git programı MS Dosta bulunan CMD ekranına benzeyen ve Git Bash adı verilen bir konsol ekranına sahiptir. Git Bash programını kullanmak için aşağıdaki temel komutları bilmemiz gerekmektedir.




----Gitte Kullanılan Temel Komutlar----
pwd  (Bulunan dizinin pathini listeler)
ls   (list kelimesinden üretilmiştir. Hangi dosyaların çalıştırılan klasörde olduğunu gösterir.)
ls -la  (klasördeki gizli dosyalarıda gösterir.)
cd Deneme  (Deneme isimli klasörün içerisine girilmesi için kullanılır.(örnek cd Deneme) Bu komutun doğru çalışması için bulunan dizinde Deneme diye bir klasörün bulunması gerekmektedir. (Ms Dos taki aynı komut cd .. diyerek üst klasöre geçilebilir.))
git --version (Kullanılan Git'in versiyonu öğrenilir.)
git init (Seçilen dosyada Git'in kullanılacağı söylenmiş olunur.)
git add . (Seçilen klasörün içerisindeki her şeyi Git kullanımına ekle)
git commit -m "ilk mesajı ekle" (ilk mesajı ekle yazısı git içerisine kim tarafından oluşturulmuşsa o kişi ile ilgili bir log olarak Git'e eklenir. Bu komut sayesinde zamanda bir kayıt oluşturmuş olunur bu sayede eğer projede geri dönmek istersek kolay bir şekilde o noktaya geri dönebiliriz.)
git diff (Dosyanın içerisindeki farklı kısmı gösterir. Listelerde çıkan kırmızı olan yazılar silinen yeşil olan yazılar ise mevcut yada yeni eklenen yazıları göstermektedir. Özetle git diff çalışan sürüm ile represorory arasındaki farktır.)
git diff --staged (represorory ile staged arasındaki farklı gösterir.)
git rm dosyaadi.uzantisi (örnek rm deneme.txt) (deneme.txt isimli dosyayı diskten siler.)
git mv home.txt first.txt (home.txt adını first.txt olarak değiştirir.)
git mv home.txt deneme/first.txt (home.txt dosyasını deneme isimli klasörün içerisine first.txt olarak kayıt eder.)
exit (Ekrandan çıkış.)
clear (Ekranı temizleme)
git log (Daha önceden kayıt edilen mesajları listeler)
git log --authour="Murat" (Murat adı ile yapılan mesajları listeler)
gir status (Mevcut durum hakkında bilgi verir.)
git checkout --Dosya.uzantısı (Çalışan dosyayı en son kayıtlı haline getirir. Yeni yapılanları siler.)
git commit -am "Veriler kurtarıldı" (Mesajı dierk olarak çalışan dosyaya ve repository ye mesaj kaydı olarak ekler.)
git reset HEAD dosya.txt  (Dosyayı eski çalışan haline resetleyererk geri getirir.)
Eski versiyonları geri getirmek
git log (Eski alınan kayıtlara bakmak için git komutu kullanılarak komutlar listelenir. Listelenen komutlardan git checkout komut mumarasının ilk 5-6 hanesi yazılarak (Örnek checkout e292939) o zamanki hali tekrardan yüklenmiş olur.
Dosyaları Github'a yüklemek
Github üzerinden açacağınız bir hesaba dosya eklemek için hesap açıldıktan sonra bir repository oluşturmanız gerekmektedir. Oluşturulan repositoryye dosya eklemek için
git remote add githubsf (githubsf sizin tarafınızdan oluşturulacak isim) https://github.com/sizin hesabınız/sizin repositoryniz.git
(Örnek $ git remote add githubsf https://github.com/Yazilimcilardunyasi/SF.git)
Oluşturulan repositoryye uzaktan bağlantı için
git remote sizin repositori adınız
(Örnek $ git remote githubs)
Dosyalar göndermek için
git push -u sizin reporisotory isminiz master
(Örnek $ git push -u githubsf master)
Enter dedikten sonra kullanıcı adınızı ve şifrenizi girmeniz için bir ekran çıkacaktır. Şifre bilgileri doğru olarak girildikten sonra dosyalarınız githubın sistemine yüklenmeye başlayacaktır.
Bu işlemin sonucunda StreetFigther isimli oyunun kodları github sitesine eklenmiş olacaktır.
Eklenen kodların bulunduğu repository https://github.com/Yazilimcilardunyasi/SF

--------Github-GUI-------
Github Bash haricinde Github GUI programı kullanılarakta Githuba dosya yüklenebilir.


----www.github.com Kullanımı----
İstenirse www.github.com sitesinde yüklenen repository üzerinde kopyalar oluşturulabilir. Proje ile ilgili web adresi varsa o adrese link verilebilir. Başka kullanıcıdan gelen değişiklikler yada güncellemeler sisteme eklenebilir.




Bir ekip halinde aynı proje üzerinde çalışılabilir. Görevler eklenip kişilere ataması yapılabilir.Başkalarının geliştirdiği github projelerine katkı yapılabilir yada önerilerde bulunulabilir.Projeyi geliştiren kişilerle karşılıklı mesajlaşılabilir.

-----Git Eğitimi-----

25 video videoların uzunluğu 5-10 dk (Eğitim dili İngilizce)



 23 video (Eğitim dili Türkçe)


---Git Türkiye İstatistikleri---

Programlama Dillerine Göre İl Bazlı Dağılım


Detaylı Bilgi https://alpcanaydin.github.io/github-stats-for-turkey/#/





3 Nisan 2017 Pazartesi

Youtube Kanallarının Gelirlerini Öğrenin

Youtube kanallarının ne kadar gelir elde ettiğini merak ediyorsanız; Socialblade sitesi bu sorunun cevabı tahmini  bir değer aralığı ile gösteren güzel bir site (sitenin adresi: https://socialblade.com). Sitenin kullanımı için tek yapmanız gereken, aranan Youtube kanalını sitenin sağ üst köşesinde bulunan kısma yazıp aratmak. Çıkan listeden aranan kanalın bulunduğu linke tıklandığında sitenin aylık ve yıllık kazancı ekranın alt kısmında (Estimated Earnings olarak) gösterilmektedir. Buradaki aralık değeri çok büyük olduğu için genellikle az olan tutarın dikkate alınması daha doğru bir bilgi verecektir. (2.4K nın anlamı 2400$). Sitede ayrıca aranan kanal hakkında detaylı bilgilere erişilebilmektedir. (izleme sayısı, kanılın sınıfı, derecesi, vb)


27 Mart 2017 Pazartesi

VR Teknolojileri için Yazılım Geliştirin

Günümüzde pekçok farklı ürün ile kendisini sürekli olarak geliştiren VR (Virtual Realisation - Sanal Gerçeklik) teknolojileri; her bütçeye uygun birbirinden farklı araçlara sahiptir. Bu gelişen teknolojinin imkanlarını ve geliştirilen başlıca ürünlere baktığımızda temel olarak VR gözlüklerini ve VR platformlarını görmekteyiz.

VR Gözlükleri

Google Cardboard, oldukça basit bir kuruluma sahip ve ekonomik bir çözümdür Cardboard 5TL ila 20TL gibi bir fiyatla alınabilmektedir. Google Cardboard'un üzerinde bulunan barkod okutularak sanal gerçeklik deneyimine giriş yapılabilir. 6" telefonların bile takılabildiği Google Cardboard için geliştirici olarak (https://developers.google.com/vr/) uygulamalar oluşturabilir. Ürünün dezavantajları Motion sickness (baş dönmesi ve mide bulantısı) yapma riski yüksektir.


Case 4u vr box 3.0 Türkiye'de ençok satan ve Çin'den ithal edilen bir sanal gerçeklik gözlüğüdür. Yanında bulunan ufak kumanda ile temel haraketler gerçekleştirilebilir. 25TL ila 35TL gibi bir fiyata internetten temin edilebilir Ürünün dezavantajları Motion sickness (baş dönmesi ve mide bulantısı) yapma riski yüksektir.



Samsung cep telefonu kullananlar için uygun bir alternatif olan Samsung VR 119TL gibi bir fiyattan satın alınabilir. Daha önceki ürünlere göre daha profesyonel bir üründür. Ürünün dezavantajlarına baktığımızda, uygulamaların ve araçların oldukça pahalı ve içerik sayısının yetersiz olduğu görülmektedir. Motion sickness dediğimiz baş dönmesi ve mide bulantısı yapma riski diğer araçlara göre daha az olsada yinede 10 dakika ve üzeri kullanımlarda bu sorunlar oluşabilmektedir.


Microsoft Hololens oldukça gelişmiş bir VR gözlüğüdür. 3000$ gibi bir fiyattan yurt dışında satışı başlamıştır. Pek çok alanda kullanıma uygun bir yapıya sahiptir. Ürün ile ilgili uygulamalar geliştirmek için detaylı bilgi https://www.microsoft.com/microsoft-hololens/  sitesinde bulunmaktadır.





VR Platformları


HTC vive tarafından üretilen bir teknolojidir. Sistemin kullanımı için güçlü bir oyun bilgisayarına ve boş bir odaya ihtiyaç duyulmaktadır. 3000$ gibi bir fiyata satın alınan bir ürünün internet adresi https://www.vive.com/eu/




Virtuix Omni gerçek bir VR platformudur. Omni sanal gerçeklik için geliştirdiği pek çok ürünle rakiplerinden farklı bir yerde konumlanmaktadır. Türkiye'de 10.000$ gibi bir fiyatla satılan platform için uygulamalar geliştirilebilir (http://www.virtuix.com/resource-center/)