How to write a programming language and shell in Go with 92% test coverage and instant CI/CD-Qi Xiao

HN ▲ 162DevOpsKanal: GopherCon UKYayın: 30.08.2024Süre: 1:00:17

Neden izlemeli?

Programlama dili ve shell geliştirme ile CI/CD süreçlerine ilgi duyan geliştiriciler için pratik bir vaka incelemesi. Elvish’in mimarisi, test kapsamı sağlama yaklaşımları ve anlık CI/CD uygulamaları hakkında somut yöntemler öğrenerek benzer projelerde kalite ve otomasyonu artırabilirsiniz.

Video özeti

Bu konuşma, Go ile yazılmış Elvish adlı programlama dili ve shell’in mimarisini vaka incelemesi şeklinde anlatıyor; konuşma Elvish’in ne olduğu, tree-walking interpreter ve statik analizörün nasıl uygulandığı, dilin interaktif özellikleri ve shell mantığının Go’nun concurrency primitives kullanılarak nasıl modellendiğine odaklanıyor. Sunumda ayrıca Go’nun tip sistemi ve standart kütüphanelerinden nasıl yararlanıldığı, pipeline ve shell davranışlarının test edilmesi için kullanılan yöntemler, test kapsamını %92’ye çıkarmak için uygulanan teknikler ve anlık CI/CD uygulamalarının (instant CI/CD) pratik kurulum örnekleri ele alınıyor. Programlama dili tasarımı, interpreter geliştirme, test otomasyonu ve CI/CD süreçlerine ilgi duyan yazılımcılar için uygun; Go ile çalışma deneyimi ve temel derleyici/yorumlayıcı kavramları bilmek faydalı olur. İzleyici, dinamik bir dilin interpreter’ını nasıl kurgulayacağını, tekrar icat etmek yerine Go’nun sunduğu araçlardan nasıl yararlanacağını, yüksek test kapsamı sağlamanın pratik yollarını ve hızlı CI/CD ile nasıl güvenilir teslimat elde edileceğini öğrenir.

Bölümler

  1. Intro
  2. Agenda
  3. What's Elvish?
  4. Implementing the Elvish interpreter
  5. Testing the Elvish interpreter
  6. Testing the terminal app
  7. Miscellaneous bits
  8. Q&A

Öne çıkan fikirler

  • Bir interpreter uygularken tree-walking yaklaşımı ve statik analizörleri Go’nun tipi ve kütüphaneleriyle birleştirmek geliştirmeyi hızlandırır.
  • Shell semantics (pipeline gibi) için Go’nun concurrency primitifleri doğal ve etkili bir model sağlar.
  • Yüksek test kapsamı ve anlık CI/CD, dil ve araç geliştirmede regresyonları erkenden yakalamak ve güvenli refactor yapmak için kritik öneme sahiptir.

Özet ve bölüm başlıkları Opendart editörlüğünde hazırlanmıştır; videonun içeriği ve hakları kanal sahibine aittir.

Hacker News'te 162 puan ve 41 yorum aldı: tartışmayı oku · YouTube'da aç

Opendart Akademi

Bu konuyu canlı derste, gerçek projelerle öğrenin → DevOps Eğitimi

Eğitmen eşliğinde, canlı online veya sınıf içi; bireysel ve kurumsal seçenekler. Tüm eğitimler