1 puan yazan GN⁺ 2024-10-13 | 1 yorum | WhatsApp'ta paylaş
  • Python ile FUSE dosya sistemi yazma rehberine başlangıç

    • DebConf22'de Eeveelweezel ile yapılan bir konuşmanın ardından, Chicago Python User Group'tan bir sunum hazırlaması için davet aldı.
    • Python'ı sık kullanmasa da, öğrencilerine kolayca anlayabilecekleri bir dille eğitim veriyor.
    • FIUnamFS adlı basit bir dosya sistemini ders projesi olarak kullanıyor ve öğrencilerine FUSE kullanarak şeffaf bir arayüz sunmalarını öneriyor.
  • FUSE dosya sistemi uygulamasının zorlukları

    • Python'da FUSE tabanlı bir dosya sistemi kurmak kolay değil.
    • Çeşitli örnekler ve web sayfaları var, ancak çoğu eski ve takip etmesi zor.
    • Python tarafında python-fuse, Pyfuse, Fusepy gibi çeşitli arayüzler bulunuyor.
  • GitLab projesinin başlatılması

    • Python ile FUSE tabanlı dosya sistemi yazmaya yönelik bir rehber sunmak için bir GitLab projesi açtı.
    • RAM tabanlı ve passthrough tabanlı dosya sistemi uygulamaları dahil, çeşitli görevleri adım adım ekledi.
    • Öğrencilerin eğlenceli ve faydalı örneklerle öğrenebilmesi için DNS dosya sistemi, gerçek zamanlı Markdown derleme dosya sistemi, açma-sıkıştırma dosya sistemi ve yorum kaldırma dosya sistemi gibi fikirler ekledi.
  • Sunum ve eğitim planları

    • ChiPy'de sunum yapacak; ayrıca Santa Fe, Argentina'da düzenlenecek Jornadas Regionales de Software Libre ile Mexico City'de düzenlenecek nerdear.la etkinliklerinde de konuşma yapmayı planlıyor.
    • Bu projeyi öğrencileriyle paylaşmayı ve onların Python'da FUSE uygulamalarına ilgi duymasını sağlamayı hedefliyor.
  • GN⁺ özeti

    • Bu yazı, Python ile FUSE dosya sistemleri uygulamakla ilgilenenler için faydalı bilgiler sunuyor.
    • Çeşitli örnekler ve adım adım rehberler sayesinde öğrencilerin kolayca öğrenmesine yardımcı oluyor.
    • FUSE uygulamasındaki zorlukları aşmaya yönelik çabası dikkat çekiyor ve Python topluluğuna katkı sağlama niyeti olumlu değerlendiriliyor.
    • Benzer işlevlere sahip projeler arasında Dokan ve WinFsp bulunuyor.

1 yorum

 
GN⁺ 2024-10-13
Hacker News görüşleri
  • libfuse GitHub'ında, C/C++'ın karmaşıklığını artıran iyi örnekler var

    • passthrough.c mevcut dosya sistemini yansıtır, ancak performansı iyi değildir
    • passthrough_fh.c performans açısından biraz daha iyidir
    • passthrough_ll.c düşük seviyeli API ile uygulanmıştır ve üçü arasında en iyisidir
    • passthrough_hp.cc C++ ile yazılmış yüksek performanslı sürümdür
    • İlginç FUSE projeleri arasında büyük dosyaları segmentlere bölmek, ZFS artımlı snapshot'larını dosya olarak göstermek ve şeffaf dosya sistemi sıkıştırması yer alır
  • FUSE'un yanı sıra, 9p protokolü üzerinden sanal dosya sistemi uygulamak da mümkündür

    • py9p ile Python deneyimi, fuse-python'dan daha iyiydi
    • 9p hizmeti FUSE üzerinden mount edilebilir ve bunun için diod 9p sunucusu kullanıldı
    • Genel olarak keşfetmesi keyifli bir ekosistem
  • FUSE kullanarak Jira'yı bir dosya sistemine dönüştüren bir proje başlatıldı

    • Sorun kimliklerini dizin adı olarak kullanmak otomasyonu kolaylaştırdı, ancak insanların gezinmesini zorlaştırdı
    • Sorunu çözmek için issue-type-with-summary dizin türü eklendi
  • FUSE ile ilgilenenler CUSE projesiyle de ilgilenebilir

    • CUSE, kullanıcı alanında donanım emülasyonu yapmaya yönelik bir projedir
    • Python kullanılarak IOCTL destekleyen bir donanım aygıtı yazıldı
    • CUSE başlangıçta kullanıcı alanı ses aygıtları oluşturmak için uygulanmıştı
  • Çeşitli FUSE mount seçenekleri vardır ve JuiceFS, nesne depolamayı POSIX dosya sistemi olarak mount etmesiyle ilgi çekicidir

  • Son zamanlarda NFS tabanlı dosya sistemleri uygulayanların sayısı artıyor

    • Mac'te rclone bunu destekliyor
  • azuline/rosé, sanal dosya sistemine sahip bir müzik yöneticisidir ve öğrenmek için iyi bir kod tabanı sunar

  • FUSE kullanılarak Makefile'ın rastgele kaynaklar için DAG tanımlayabilmesi sağlandı

    • Örneğin, Kubernetes küme durumunu dışa vuran bir FUSE dosya sistemi var
  • Bir Python FUSE dosya sistemi oluşturularak dokuwiki ile etkileşim kuruldu

    • easyfuse adlı bir wrapper oluşturularak dokuwiki ile ilgisi olmayan düşük seviyeli API uygulandı
  • FUSE kullanılarak git deposunu dışa vuran küçük bir proje yazıldı

    • .git klasörü üzerinden tüm commit'ler ve branch'ler kendi klasörleri olarak dışa vuruluyor
    • Her şey salt okunur