Giriş

Bölüm 13

Kişisel kütüphane kurun: yararlı işi taşınabilir ustalığa dönüştürün

Bu noktada terminal komut listesi olmaktan çıkar. Güvendiğiniz yöntemler koleksiyonuna dönüşür: bu sorunu böyle incelerim, bu dosyaları böyle dönüştürürüm, projeyi böyle paketlerim, sürüm’i böyle doğrularım, ortamı böyle yeniden kurarım.

Yöntemleri hafızada değil kütüphanede saklayın

Amaca göre klasörler oluşturun — kontroller, dağıtım, medya, geçiş, tanılama — ve kanıtlanmış her yöntem için kısa betik veya not saklayın. Klasör adı altı ay sonra bu aracı hangi durumda arayacağınızı anlatmalıdır.

Projeler arasında taşıdığınız sıradan bir özel klasör bile taşınabilir kişisel ortamdır. Aksi halde her seferinde yeniden keşfedilecek yıllarca küçük kararı korur.

cd lil-playground
md library
md library/checks
md library/deploy
md library/media

Birleşebilen küçük tarifleri tercih edin

İyi bir yöntem tek soruya cevap verir veya sınırlı dönüşüm yapar. hosting-baseline.lil, package-project.lil ve network-check.lil; aynı anda yapılandırma düzenleyen, dosya yükleyen, izinleri değiştiren ve veritabanına dokunan dev betik’ten daha kolay güvenilir.

Bileşim riski görünür tutar. Doğrusal #lil dosyası normal komutları çağırabilir; karar gerektiğinde run iş akışı alt iş akışı çağırabilir. İsimleri, beklenen girdi ve çıktıları açık tutun.

Yalnızca son dosyayı değil farkı kaydedin

diff iki metin durumunu incelenebilir bir değişikliğe çevirir ve patch saklayabilir. Bu, final-final-2.txt adlı ikinci kopyadan çoğu zaman daha anlamlıdır; çünkü değişikliğin kendisi incelenir.

Sürüm dosyaları için değişiklik kaydına hash ekleyin. Patch neyin değiştiğini açıklar; özet daha sonra baytların hâlâ aynı olup olmadığını söyler. Hiçbiri yedek yerine geçmez ama devretme ve doğrulamayı sakinleştirir.

echo "status=review" > library/routine-v1.txt -r
echo "status=done" > library/routine-v2.txt -r
diff library/routine-v1.txt library/routine-v2.txt
diff library/routine-v1.txt library/routine-v2.txt -o library/routine.patch

Küçük ve kesin yardımcı araçlar gereksiz tek kullanımlık kodu önler

rand güvenli tamsayı, token ve UUID üretebilir; math doğrulanmış hesaplama ve conversion yapar. İş akışı tek bir kesin değer istiyorsa ve geçici PHP betiği daha fazla yüzey oluşturacaksa kullanışlıdır.

Kriptografik olarak güvenli rastgele değer gizli veri-management system değildir; calculator da iş kuralı motoru değildir. Küçük yardımcı araçları küçük işlerde kullanın, önemli politikayı iş akışı içinde açık tutun.

rand -uuid
rand 1 100
math clamp 105 0 100
math round 82.456 1

Acil durum bakımı acil hale getirmeden önce aracı koruyun

Ortam sağlıklıyken ara sıra core, doctor -q ve upgrade -c çalıştırın. Böylece “normal” görünümü öğrenir, üretim ortamındaki bir sorun öncesinde güncelleme veya eksik bağımlılık fark edersiniz.

Bakım sıkıcı olduğunda daha kolaydır. Depoya bilinçli güvenin, değişiklikleri inceleyin, yedekleri koruyun ve bu sunucuyu diğerinden ayıran az sayıdaki yerel karar’ı kaydedin.

core
doctor -q
upgrade -c

Tüm ortamı yakmadan tek katmanı sıfırlamayı bilin

clear yalnızca gördüğünüzü sıfırlar. Modüller tek tek kaldırılabilir. İsteğe bağlı arayüz ayrı sıfırlanabilir. Eklenti katmanı kaldırılıp Core bırakılabilir. Tam kill vardır ama son sınırdır; sorun giderme refleksi değildir.

Bu katmanlı model genel terminal alışkanlığı için de değerlidir: gerçekten bozuk en küçük durumu belirleyin ve yalnızca onu sıfırlayın. Yıkıcı işlem nadiren tanılama yerine geçer.

clear

Sonucu kanıtlanabilen iş akışı ile bitirin

Son örnek çalışma alanının varlığını kontrol eder, arşiv oluşturur, TAR’ı test eder, çıktıyı inceler ve özet hesaplar. Her adım önkoşul kurar veya sonraki adım için kanıt üretir.

Önce -n, sonra -v ile çalıştırın. Çıktıyı anlamadan kök ve arşiv adını değiştirmeyin. Hedef bu belirli arşiv değil; kendini açıklayan yöntem kurma alışkanlığıdır.

run library/release-check.lil -n
run library/release-check.lil -v

Asıl beceri komut sözlüğü değil yöntemdir

Linux, macOS, Windows ve barındırma çalışma ortamı’ları aynı değildir; lil-terminal da öyleymiş gibi davranmaz. Taşınan şey kültürdür: mevcut durumu’i incele, sınırlı bir değişiklik yap, sonucu doğrula, tekrarlanabilir kısmı kaydet.

Bu doğal hale geldiğinde yeni terminal bilinmeyen sözdizimi duvarı olmaktan çıkar. Soracağınız sorular, toplayacağınız kanıtlar ve adapte edeceğiniz routine’ler vardır. Bu giriş bölümünün amacı öğrenmeyi bitirmek değil, komut satırını çalışabildiğiniz bir yer haline getirmektir.

Bunu betik olarak saklayın

Son iş akışını library/release-check.lil olarak kaydedin. İş projenizi bilmez; yeniden kullanılabilir sürüm kontrol noktası biçimini gösterir: çalışma alanını doğrula, arşiv oluştur, test et, incele ve özet kaydet.

set root lil-playground
set archive lil-playground-checkpoint.tar

if dir "$root"
    dir "$root" 1 -G
    tar "$root" "$archive" -f
    tar "$archive" -t
    stat "$archive"
    hash "$archive"
else
    stop "Workspace is missing"
end