Bilmek istediğin her şeye ulaş
Ekim 2013

Huseyin Uslu bir yanıt verdi.

Github platformuna dosya yüklemeyi nasıl yapıyoruz?

Bahsettiğiniz kaynak kodu dosyaları ise bir git istemcisine ihtiyacınız var demektir.
Ekim 2013

Huseyin Uslu bir yanıt verdi.

Oyun programlama ve modelleme yaparken hangi programlama dilleri ve tasarım yazılımlarını önerirsiniz?

Yeni başlayanlar için Microsoft'un kaynaklı XNA (Not: Microsoft güncellemeyi durdudu) ve Mono destekli Monogame, tavsiye edilebilecek frameworklerden. Oyun programlama da programlama dili tek parametre değildir. Kullanacağınız API (OpenGL, WebGL, DirectX) , framework (XNA, Mono) ve motor (ör: Unity3d) farklı parametreler olarak karşımıza çıkmakta. Yeni başlayanlar mümkün mertebe mevcut bir motor veya framework'u temel alıp kolları sıvamalı.
Ekim 2013

Huseyin Uslu bir yanıta alt yorum yaptı

oldukça yararlı bir açıklama olmuş
Sözlük anlamından yola çıkarsak "Varlık" anlamına karşılık geliyor ancak teknik olarak bire bir böyle bir çevrim yapılması sağlıklı olmuyor.

Entity Framework bir ORM (Object Relational Mapping) aracıdır. Entity Framework'den önce LinqToSql vardı hala var ancak geliştirilmesi durduruldu ve Entity Framework projesi ile Microsoft'un resmi ORM projesi geliştirilmeye devam etmekte.

LinqToSql ortaya çıkmadan önce veritabanı ile çalışılan projelerde .NET programcısı veritabanına erişimlerini C# kodu içerisinden kendisi elle ayrıca TSql kodları yazarak gerçekleştiriyordu ve Sql Server Management Studio aracılığıyla da veritabanına doğrudan erişip tabloları, tablolalar arası ilişkileri ve diğer veritabanı programlama öğelerini kendisi hazırlıyordu (stored procedure, function, trigger).

ORM araçlarının ortaya çıkması ile veritabanı ile çalışılan projelerde .NET programcısı veritabanını, tabloları ve diğer veritabanı öğelerini doğrudan kendisi elle oluşturmasına gerek kalmadan bu işin yapılmasını Entity Framework'e bıraktı.

Bunun için de Entity Framework'ün kuralları doğrultusunda veritabanı ve tabloların oluşturulması yerine "entity"ler oluşturuldu. Bunlar C#'dan bildiğimiz "class"lardır.

Sizin anlayabileceğiniz şekilde çevirmek gerekirse Entity Framework ile veritabanında tablo oluşturmanın karşılığı olarak data modellerinizi (entity'leri) oluşturuyorsunuz. Projeyi çalıştırdığınız entity framework bu data modellerinizi ve data modelleri arasındaki ilişkileri okuyarak veritabanını ve tabloları, tablolar arası ilişkileri kendisi otomatik oluşturuyor.

Konuyla ilgili kafanızdaki soru işaretlerini giderecek bir eğitim videosu ve makaleyi paylaşıyorum.
msdn.microsoft.com/en-us/data/jj193542
Ekim 2013

Huseyin Uslu bu yanıtı beğendi:

Database kavramında Entity ne demek?

Sözlük anlamından yola çıkarsak "Varlık" anlamına karşılık geliyor ancak teknik olarak bire bir böyle bir çevrim yapılması sağlıklı olmuyor.

Entity Framework bir ORM (Object Relational Mapping) aracıdır. Entity Framework'den önce LinqToSql vardı hala var ancak geliştirilmesi durduruldu ve Entity Framework projesi ile Microsoft'un resmi ORM projesi geliştirilmeye devam etmekte.

LinqToSql ortaya çıkmadan önce veritabanı ile çalışılan projelerde .NET programcısı veritabanına erişimlerini C# kodu içerisinden kendisi elle ayrıca TSql kodları yazarak gerçekleştiriyordu ve Sql Server Management Studio aracılığıyla da veritabanına doğrudan erişip tabloları, tablolalar arası ilişkileri ve diğer veritabanı programlama öğelerini kendisi hazırlıyordu (stored procedure, function, trigger).

ORM araçlarının ortaya çıkması ile veritabanı ile çalışılan projelerde .NET programcısı veritabanını, tabloları ve diğer veritabanı öğelerini doğrudan kendisi elle oluşturmasına gerek kalmadan bu işin yapılmasını Entity Framework'e bıraktı.

Bunun için de Entity Framework'ün kuralları doğrultusunda veritabanı ve tabloların oluşturulması yerine "entity"ler oluşturuldu. Bunlar C#'dan bildiğimiz "class"lardır.

Sizin anlayabileceğiniz şekilde çevirmek gerekirse Entity Framework ile veritabanında tablo oluşturmanın karşılığı olarak data modellerinizi (entity'leri) oluşturuyorsunuz. Projeyi çalıştırdığınız entity framework bu data modellerinizi ve data modelleri arasındaki ilişkileri okuyarak veritabanını ve tabloları, tablolar arası ilişkileri kendisi otomatik oluşturuyor.

Konuyla ilgili kafanızdaki soru işaretlerini giderecek bir eğitim videosu ve makaleyi paylaşıyorum.
msdn.microsoft.com/en-us/data/jj193542
Ekim 2013

Huseyin Uslu bir yanıt verdi.

C# de attribute'lar ne işe yarar ve yazılıma ne gibi imkanlar sağlar?

Attribute'lar C# kod parçalarına bilgilendirme yapmamızı sağlar. En sık kullanılan attribute'ların listesini şurada bulabilirsiniz stackoverflow.com/questions/144833/most-...
Eylül 2013

Huseyin Uslu bir yanıt verdi.

Assembly konusunda özel ders veren kişiler ya da yerler hangileridir?

Açıkcası en iyi kaynak Internet. x86 assembly hakkında sorduğunuzu varsayarak tavsiye edebileceğim bir kaç kaynak şunlar;

Ayrıca piyasada bir kaç yazarın x86 mimarisi ve assembly hakkında Türkçe kitaplarıda mevcut.
Eylül 2013

Huseyin Uslu bir yanıta alt yorum yaptı

Bu nasıl bir yorumdur anlamıyorum. C# açık bir spesifikasyon haline gelmişken, Microsoft Xamarain + Mono'yu açıktan destekliyorken, C# windowsla sınırlıdır demek garip. Hayır Mono sayesinde - C# ile hem Windows, hem MacOS hem de Linux'da çalışan uygulama yazmamış olsak inanacağız bir nebze de..
Günümüzde öğrenilmesi gereken programlama dili şudur; öncelikle öğrenmek istediğin şey nedir yapmak istediğin şey nedir.. Oyun mu yazmak istiyorsun ya da masaüstü programı mı yazman gerekiyor.. Tercihin neyse ona göre bir yol izlemelisin.. Profiline baktığımda oyun programlama ile ilgileniyorsun ve bu alan çok geniş bir alandır. Cep telefonları için eğer iOS için Object c ya da Android için Java veya C++ yeterlidir. Bilgisayar için oyun geliştirmek istiyorsan o da derin bir konudur. Oyun yazan şirketleri incelemen gerekir. Sana tavsiyem şu platformdan bağımsız bir programcı ol ne Windows ne Linux olsun.. Bunlardan bağımsız çalışan programlama dillerini seç. Zaman değişti, eskiden Microsoft piyasaya programlama dillerinde hakimdi şimdi ise bu olay değişmektedir.

Büyük sitelerin kullandıkları programlama dilleri websaati.com/index.php/arsivler/874

2013'e ait programlama dilleri analizi
websaati.com/index.php/arsivler/753
Eylül 2013

Huseyin Uslu bir yanıta alt yorum yaptı

Xamarin, konusunda bir iki ek yapayım. Öncelikle Xamarin ile sırf android kullanacaksanız, Mac'e gerek yok, normal bir PC'de iş görüyor. Ek olarak Xamarin 2.0 ile elinizin altında Mac tabanlı bir build machine olması durumunda, geliştirme ortamı olarak Windows + Visual Studio'da kullanmak mümkün. Bir detay daha, Xamarin C#'ı objective c veya java'ya çevirmez. Xamarin'in hem IOS hemde Android için yazmış olduğu .Net virtual machine sayesinde, C# üzerinden android/ios'un sunduğu API bindingler üzerinden çağrılır. Sonuçta cihaz üzerinde yine .net vm at koşturmakta. Ayrıca Android ve IOS için ortak dil c++ demek oldukça komik, keza birinin native dili Java diğerinin ki ise Objective C. Hadi Android bir nebzede olsa C++'a izin veriyor NDK sayesinde ama IOS'ta baya takla atmanıza gerek var. Günümüzde mobil dünyası, development cost'ları kısmak adına, mobil platformların native toolkitlerini kullanmak yerine, Xamarin, PhoneGap gibi şeylere yönelmeye çalışıyor. Hatta şu anda C# + Xamarin + MVVMCross + PCL (Portable Class Libraries) dörtülüsü sayesinde sırf Android, IOS değil WinPhone8'e da da çalışak ortak kod tabanına sahip olabiliyoruz.
C# bilen bir yazılımcı ASP.NET üzerinden web projelerine girebilir, Windows Phone uygulaması geliştirebilir, Surface uygulaması yazıp normal PC'ler için de uygulama geliştirebilir. Bununla yetinmeyip iOS ve Android platformlarına da uygulama geliştirebilir (bknz: Xamarin Studio).

Siz birden fazla platforma uygulama geliştirebiliyorsanız bence onunla orantılı olacak biçimde kazanacağınız para da artacaktır. Ha C# ile iOS ve Andorid'e yazmak ne kadar verimli olabilir diyeceksiniz belki de.

Şu ana kadar 3 uygulama geliştirdim. 3'ü de basit, web servisinden gelen veriyi ekrana basan uygulamalardı. 3'ünde de sıfır problem yaşadım. Bazıları ön yargılı yaklaşabiliyor bu duruma. Ne kadar kapsamlı bir uygulama yazılacağına bağlı tabi.

Neyse konuyu dağıtmayayım. Bana göre C# bilmek bir avantajdır. Ama şu da var ki bir dili iyi bilirseniz diğerlerini de öğrenirken çok zorlanmazsınız.
Eylül 2013

Huseyin Uslu bu yanıtı beğendi:

Yazılımcı olmanın yaşı var mıdır?

Yaş sınırı yoktur ama belli bir yaşa kadar bu meslekten elde edilecek gelir tatmin edici olmazsa psikolojik sorunlara gebe kalabilirsiniz :)
Eylül 2013

Huseyin Uslu bir yanıt verdi.

C++'ın C# a göre avantajları nelerdir?

Tamamen içerik/bağlama göre cevaplanabilecek bir sorudur. Genel bir karşılaştırma yapmak pek sağlıklı değildir.
Eylül 2013

Huseyin Uslu bir yanıt verdi.

Zip Code nedir?

Bahsedilen eyalet kodları ise, sorunun girilen etiketlerle pek alakası yok.
Eylül 2013

Huseyin Uslu bir yanıt verdi.

Türkiye'de yazılım sektörü sizce nereye doğru gidiyor?

Büyük oranda CRUD (Create, Read, Update, Delete) yazılımlardan oluşan bir sektörün varlığı kendi başına bir tartışma konusudur.
Eylül 2013

Huseyin Uslu bir yanıt verdi.

Github'daki fork ve branch nedir?

Öncelikle bir VCS olan git'le, git servisi veren github'ı birbirinden iyi ayırmak lazım.

Fork, github'da ki herhangi bir projeyi kendi github kullanıcı adınız altında çoğaltmaya yarar. Devamında bu projenin kaynak kodları üzerinde çalışma yapabilir, yaptığınız değişiklikleri son adımda proje yöneticisine Pull Request olarak gönderebilirsiniz.

Branch ise basitçe dallardır, bu sayede üzerinde çalıştığınız kaynak kodun farklı (versiyon demek istemiyorum) türlerine sahip olabilirsiniz.

Örnek vermek gerekirse, her git deposu ön tanımlı olarak master branch'ı ile gelir. Eğer isterseniz geliştirme adlı ekstra bir branch açabilir, kod üzerinde değişiklikleri burada yapabilir ve son olarak stabil olduğundan emin olduğunuz değişiklikleri master branch'e aktarabilirsiniz.

Branch kavramını içeren birçok VCS'de kullanılabilecek olsada github için oldukça tavsiye edilen bir branch modeli hakkında daha fazla bilgiyi (nvie.com/posts/a-successful-git-branching-model/) adresinde bulabilirsiniz.

Github

Biraz detaylandırmak gerekirse, bu modelde stabil ve yayınlanmış kod sürümleri master branch'ta tutulmakta ve taglanmaktadır. Aynı zamanda geliştirilen kodlar develop branch'ında tutulmakta ve yazılıma yeni eklenen özellikler önce feature branch'larında takip edilmekte ve develop'a aktarılmaktadır.

Yazılımın yeni bir sürümü yayınlanacağı zaman, develop branch'da ki kodun son hali, release-1.x.y.z gibi bir isme sahip branch'lara aktarılmakta, sürüm yayınlanmaya karar verilidiğinde, master branch'a taglanarak aktarılmaktır.

İlgi çekici diğer bir nokta ise hotfix branch'larıdır.

Özetlemek gerekirse bu modelin sunduğu avantaja basit bir örnek verelim;
bu model sayesinde bir yandan yazılımınıza yeni özellikler eklerken, diğer taraftan gelecek sürümün hazırlığını yapabilir ve hatta daha önce yayınladığınız bir sürüm için hotfix uygulayıp tekrar yayınlayabilirsiniz.

Yazılım geliştirme oldukça detaylı bir süreçtir ve özellikle hata düzeltme safhası oldukça zaman almaktadır. Özellikle onlarca yazılımcının üzerinde çalıştığı devasa projelerde, koda eklenen yeni bir özellik, basit bir değişiklik yahut hata düzeltmesi, kod içerisinde ki diğer kısımların çalışmasını engelleyebileceğinden, bu süreci en kolay ve acısız şekilde branch'lar ile yönetebiliriz.
Eylül 2013

Huseyin Uslu bir yanıt verdi.

Eylül 2013

Huseyin Uslu bir yanıt verdi.

Standart bir yazılım lisansı, bu yazılımın bulut üzerinde kurulumuna da imkan tanır mı?

Standard yazılım lisansı diye bir şey yoktur. Her yazılım bir lisansla ile birlikte gelir (en kötü ihtimalle public domain'dir ki bu durumda isteğiniz gibi kullanabilirsiniz) ve hangi şartlarda kullanıp kullanamacağınızı lisansı inceleyerek öğrenebilirsiniz.
Eylül 2013

Huseyin Uslu bir yanıt verdi.

SSL( Secure Socets Layer) şifrelemenin görevi nedir?

SSL (Secure Sockets Layer) ve devamında gelen TLS (Transport Layer Security) internet üzerinde iletişim güvenliğini sağlamak için hazırlanmış, spesifikasyonu mevcut olan kriptografik protokollerdir.
Eylül 2013

Huseyin Uslu bir yanıt verdi.

Günümüzde en çok öğrenilmesi gerekli programlama dili hangisidir?

En çok öğrenilmesi gereken diye bir şey yok şahsi kanaatimce. İlgi alanınıza en uygun dilleri seçmek faydalı olacaktır.
Eylül 2013

Huseyin Uslu bu yanıtı beğendi:

inpolid'de altkonuların yönetim yapısı Stackoverflow benzeri şeffaf olacak mı?

Sorunuzu biraz daha açarsanız bu kondaki düşüncelerimizi paylaşmaktan memnuniyet duyarız..
Eylül 2013

Huseyin Uslu bir yanıta alt yorum yaptı

Hiç bir açıklama içermeyen ASP mi daha iyi PHP mi daha iyi sorusu iyi bir örnek. Hedefler, teknik gereksinimler, proje detaylarını vermeden bu gibi bir soru sorulduğunda haliyle gelen cevaplarda, oldukça göreceli oluyor ve net bir cevap sunamıyor, sadece kişilerin göreceli ve yanlı bilgi birikimlerini içeriyorlar.

Stackoverflaw ve stackexhchange'de bilindigi gibi moderatorler bu gibi soruları bu yuzden kapatıyorlar.

Yine aynı sekilde stackexchange network üzerinde altgruplarda kullanıcılar puan topladıkça belli imtiyazlara sahip oluyorlar ve yüksek puanlı kullanıcılar moderasyon yetkilerine de hak kazanıyor. Bu hem verilen cevapların doğruluğu hem de site moderasyonu açısından oldukça şeffaf bir uygulama. Inploid'in bu konulara yaklaşımı nasıl?
Sorunuzu biraz daha açarsanız bu kondaki düşüncelerimizi paylaşmaktan memnuniyet duyarız..
Eylül 2013

Huseyin UsluGithub konu başlığını takip etmeye başladı.

Github

YÖNLENDİR GitHub

Daha Fazla