Lua: Her Yerde Çalışan Hafif Scripting Dili
Lua, LOVE oyun çerçevesi ve Roblox'tan Redis, Nginx via OpenResty ve Neovim'e kadar oyun motorlarında, web sunucularında, veritabanlarında ve metin editörlerinde kullanılan hızlı, gömülebilir bir scripting dilidir. Minimal çekirdeği ve temiz C API'si, tam bir dil yığınının ek yükü olmadan komut dosyası çalışma zamanına ihtiyaç duyduğunuzda tercih edilen seçimdir. Bu rotada, 40 yapılandırılmış kurs temelinde Lua'yı ilk ilkelerden üretim seviyesi gömülü hale getirmeye ve performans ayarlamaya kadar ele alınır.
Öğrenecekleriniz
Değişkenler, türler, operatörler ve kontrol akışı ile başlayacak, ardından Lua'yı ayırt eden özelliğe geçeceksiniz: diziler, sözlükler ve nesneler için evrensel veri yapısı olarak tablolar. Buradan standart string kütüphanesi, desen eşleştirmesi, dosya I/O ve tarih işlemeyi yapacaksınız. Orta seviye konular metatabloları ve metamethodları, nesne yönelimli ve fonksiyonel programlama desenleri, coroutine'ler, kapanışlar, modüller ve JSON kodlamasını içerir. Uygulamalı rotalar oyun mantığı için Lua komut dosyası yazımını, busted ile birim testini, Redis komut dosyası yazımını ve eklenti mimarisi oluşturmayı kapsar. İleri kurslar zayıf tablolarla bellek yönetimini, Lua'yı C uygulamalarına gömmeyi, LuaJIT performans optimizasyonunu, C kütüphanelerini çağırmak için FFI'yi, OpenResty/Nginx entegrasyonunu, sandboxing'i, DSL oluşturmayı, LuaSocket ile ağ iletişimini ve Neovim eklentileri yazmayı içerir.
Öğrenme Yolu
Kırk kurs A1'den C1'e kadar uzanır. A1 ve A2 kursları dil temellerini ortaya koyar — söz dizimi, fonksiyonlar, tablolar, diziler ve temel I/O. B1 kursları Lua'ya özgü düşünme modelini oluşturur: metatabloları, coroutine'leri, OOP desenleri, kalıtım, fonksiyonel programlamayı ve standart kütüphaneleri. B2 kursları bu bilgiyi gerçek bağlamlarda uygular: Oyun Mantığı için Lua Komut Dosyası, Coroutine Tabanlı Eşzamansız Desenler, Redis Komut Dosyası Yazımı için Lua ve LOVE ile Lua Oyun Geliştirme. C1 kapstone seviyesi uzman konuları ele alır — Lua'yı C Uygulamalarına Gömme, LuaJIT & Performans Optimizasyonu, FFI: Lua'dan C Kütüphanelerini Çağırma, Nginx'te Lua (OpenResty) ve Neovim Eklentileri Yazma için Lua.
Nasıl Çalışır
Her kurs, yerleşik kod editöründe gerçek zamanlı geri bildirimle tamamladığınız kısa, uygulamalı derslerle bölünmüştür. Takılıp kaldığınızda bir yapay zeka rehberi mevcuttur ve rota kendi başına tempolu olduğundan zaten bildiğiniz konular arasında hızlı ilerleyebilir ve metatabloları veya coroutine'leri gibi dikkatli incelemeyi gerektiren parçalarda yavaşlayabilirsiniz.