-
WD 001 – HTML Giriş
HTML Nedir? Hiper Metin İşaretleme Dili (HTML, İngilizce HyperText Markup Language kelimelerinin baş harflerinin kısaltılmasıdır) web sayfalarını oluşturmak için kullanılan standart metin işaretleme dilidir. Dilin son sürümü HTML5’tir. HTML, bir programlama dili olarak tanımlanamaz. Çünkü HTML kodlarıyla kendi başına çalışan bir program yazılamaz. Fakat bu dili yorumlayabilen programlar aracılığıyla çalışabilen programlar yazılabilir. Programlama dili denilememesinin…
-

Containers
Standard Library Array Vector https://stackoverflow.com/questions/200384/what-is-constant-amortized-time Forward List tek taraflı linked list https://nitishhsinghhh.medium.com/introduction-to-forward-list-in-c-stl-and-important-functions-217fd4d0af59 List double linked list https://hackingcpp.com/cpp/std/sequence_containers.html https://hackingcpp.com/cpp/std/associative_containers.html List Operations Deque Tree Data Structure Sets Map Maps and Insertion Maps in C++17 Multiset and Multimap Searching Multimap Unordered Associative Containers Associative Containers and Custom Types Nested Maps Queues Priority Queues Stack Emplacement Mastermind Game Practical
-

Git – 101
Git bir VCS(Version Control System)’dir. Nedir bu versiyon kontrol. En kaba tabirle oyunlardaki save mekanizması bir versiyon kontroldür. Belli bir noktaya geliriz, save ederiz sonra oynamaya devam edip yine save ederiz. Beğenmezsek daha önce yaptığımız save’e geri dönebiliyoruz. Git’te de benzer bir mantık var. Bir program yazıyoruz. Dark mode ekledik, sonra patron gelip şuanlık bunu…
-

Algorithms & Lambda Expressions
Algorithms Overview En çok kullanılan bir takım algoritmalar STL kütüphanesinde bulunmaktadır. Bunlar iyi implemente ve test edilmiş algoritmalar olup hali hazırda kullandığımız container’larla da uyumludur. Algorithms with Predicates A predicate is a C++ function returning a boolean or an object having a bool operator() member. A unary predicate takes one argument, a binary takes two, and so…
-

OpenGL 101
En kaba tabirle OpenGL; nokta, çizgi ve yüzey çizip bunu renklendirmenize olanak tanıyan bir API’dir. Başka bir deyişle GPU’yu kullanabilmemiz için sunulmuş bir arayüzdür. Bu arayüzü kullanabilmemiz için grafik kartı üreticisinin (veya başka bir kişinin), driver yazıp OpenGL’in bize sunmuş olduğu fonksiyonların kodlaması gerekmektedir. Göreceğiniz üzere OpenGL aynı zamanda bir “specification” yani tanımlamadır. Khronos grup…
-

Special Member Functions and Operator Overloading
Constructor Objenin oluşturulma aşamasında çalışan ve gerekli atamalarla işlemleri yapan fonksiyondur. Sınıfın member variable’larına constructor içerisinde ilk değer ataması yapılır. C++ 11 den itibaren ilk değer atamısını constructor kullanmadan yapabiliriz: Constructor delegation Bir constructor’den başka bir constructor’ı çağırıp kod tekrarını minimize etmek amaçlanır. Constructor types Copy Constructor Var olan bir nesneden başka bir nesneyi initialize…
-

Files and Streams
File Stream Streams and Buffering C++’da stream’ler buffering yapar. Bunun temel amacı sistem çağrılarını minimize etmektir. Yazma operasyonlarında veri, bellekteki buffer’a yazılır. Buffer dolduğunda ise veri işletim sistemine gönderilir. Bu duruma “flushing” denilir. Ne zaman flush yapılır? manual olarak flush yapabiliriz: endl equivalent of “\n” << flush Unbuffered Input and Output File Modes ios::inOpen for…
-

Strings
Basic String Operations substr() Returns a newly constructed string object with its value initialized to a copy of a substring of this object. [1] Constructors Searching Strings find & rfind Bir string içerisinde aranması istenilen karakter veya string’in indeksini döndürür. Eğer aranan şey string içerisinde yoksa std::string::npos döndürür. rfind, find gibi çalışır. Tek farkı sondan başa doğru…
-

Animation 101
Keyboard shortcuts Numpad Graph Editor Motion Paths Lattice Animall Allows animation of mesh, lattice, curve and surface data. Vertex vb. şeylere key atamamıza olanak tanır. Follow Path Bir objenin bir eğriyi takip etmesini sağlar
-
Move Semantics
Move Semantics Bir objeden başka bir objeye kaynakların verimli bir şekilde aktarılmasını sağlar. Örneğin garajınızda bir arabanız var. Anahtarını arkadaşınıza verip “artık bu senin” diyorsunuz. Artık bir arabanız yok ve arabayı tekrardan kullanmak için arkadaşınızın anahtarı geri vermesi gerekli. Arabayı arkadaşınıza vermek için bir kopya oluşturmadınız onun yerine var olanı transfer ettiniz. Value Semantics Verileri…
-

Armature 101
What is armature An “armature” is a type of object used for rigging. A rig is the controls and strings that move a marionette (puppet). Armature object borrows many ideas from real-world skeletons.¹ What is bone Bones are the base elements of armatures². There are two types of bones: 1. Deforming Bones: are deform/transform vertices…
-

-

Fonksiyonlar
Şuana kadar kodlarımızı main fonksiyonunun içine yazdık. Şimdi işleri daha da kolaylaştırmak için başka fonksiyonlar yazacağız. ilk başta olayları daha karmaşık hale getirdiğimizi düşünebilirsiniz ama aslında kolaylaştırdık. gördüğünüz üzere fonksiyonları kullanmak kodumuzu daha uzun belki de daha karmaşık hale getirdi. Muhtemelen şuanlık yazacağımız çoğu ufacık programda fonksiyon yazmak bize büyük bir avantaj sağlamayacaktır. Fonksiyonel programlamanın…
-

-

Operators
operatörler aslında birer fonksiyondur. Sentetik şeker gibi davranırlar. 2 tane tam sayının arasında bulunan + bir operatördür. Arka plana bakarsak bu 2 sayı alan bir fonksiyondan başka bir şey değildir. Assignment Operator = Sağ taraftaki değeri sol taraftaki değişkene atar. Arithmetic Operators +, -, *, /, % Temel matematiksel işlemleri bu operatörlerle yapıyoruz. Compound assignment…
-

Döngüler
Aynı işlemi tekrar tekrar yapmak istiyorsak döngüleri kullanıyoruz. goto goto deyimi bir satırdan başka bir satıra atlamak için kullanılır. Aşağıdaki kodda loop: bir etikettir. Etikette farklı bir isim de kullanabiliriz. goto loop; ifadesin çalıştığında programımız etiketin bulunduğu satırdan çalışmaya devam edecek. goto deyimini yasak elma gibi düşünebilirsiniz. Evet goto yu kullanabilirsiniz ama bu devamında sizi…
