O šetření časem a také o jednom skriptu pro stahování toho posledního souboru (akt.)
Tohle mám nejradši. Hodinka investovaná do napsání skriptu, o kterém vím, že mi v budoucnu ušetří… no řekněme víc než hodinu.
Šetří čas, a to je hlavní. Rád šetřím čas. Proto většinou nic neprogramuju ani nedělám nic jiného, pouze přemýšlím. Přemýšlím, abych poté, co něco dělat začnu, nemusel přemýšlet nad celkem. Věřím, že mnozí z vás programátorů se po svém prvním milionu řádků (kvalitního objektového PHP kódu) na chvíli zastavili a řekli si: „Kdybych místo toho bušení se jen na chvilku zastavil a přemýšlel, určitě by jich stačilo tak 600 000.“
Ostatně proto nerad programuji. Je to hrozná práce, zdlouhavá, je to maraton… a já jsem sprinter. Nemám rád, když musím celou dobu držet v hlavě jasný obraz a rutinně ho přenášet do funkční podoby. Leonardo taky nestavěl všechny své stroje: stačilo mu, že napsal dokumentaci.
Ale s PHP je to ještě v pořádku, psaní v PHP je rychlé, PHP je
tolerantní, možná občas nepředvídatelné, ale s tím se já takřka
nesektávám a užívám si relativní nevázanosti. Že PHP mám vlastně
docela rád si vzpomenu vždy, když otevřu Delphi. Zrovna včera mě napadlo,
že bych mohl přidat jednu drobnost do Čajoměřiče
a bylo to tu: Chceš proměnnou chlapečku? Ale prvně si ji nadeklaruj! Funkci?
Zrovna tak! Co děláš s těma závorkama? Zapomněl jsi? Tady se neflákáme,
tady se poctivě píše prvně begin
a potom end
…
Tak proto se Čajoměřič dočká už pouze jednoho, posledního
vydání. Jsem líný.
Konečně k věci
Zpět k tématu dne, dnešní skript si:
- vytvoří seznam souborů v jeho složce
- vyřadí ze seznamu ty, které nesplňují stanovená kritéria
- seřadí je abecedně a také podle verzí v názvu souboru
- a přesměruje vás to na poslední – nejaktuálnější soubor
Tohle vám ušetří čas, pokud alespoň někdy publikujete cokoliv, u čeho se očekává nová verze a číslo verze je také součástí jména souboru. Skript vás proto může nasměrovat na ten nejaktuálnější soubor. Fantastické, že?
Update: A díky muži s tajemnou přezdívkou dgx si můžete i vy užít skript ve verzi 1.1, která odstraňuje dříve proklamované nedostatky! Díky!
Update 2: Přidána podpora pro soubory s příponou
tar.*
.
Stáhnout skript (verze 1.2, *.RAR, 1KB)
Krátký praktický příklad užití
Představte si, že vyvíjíte plugin, nazvěme ho
Raven's antispam. Přibližně každé dva měsíce vydáváte novou
verzi. Právě teď nastal čas. Čerstvé soubory zabalíte do archivu, soubor
vhodně pojmenujete jako ravens-as-1.6.zip
. Poté ho nahrajete na
server, zkopírujete URL a na všech místech na webu adresu zaktualizujete.
Doufáte, že jste žádné místo neopoměli a tedy žádný link neodkazuje na
verzi starou.
Anebo ne. Anebo si stáhnete Kahiho skript,
otevřete ho, proměnnou $base
nastavíte jako
ravens-as-
, protože takto se vždy budou vaše archivy jmenovat.
Ovšem žádné nastaní, ani toto, provádět nemusíte, zvláště pokud se ve
složce s archivy nevyskytují soubory jiných jmen a jiných typů. Nahrajte
soubor index.php do složky s archivy.
Dříve byste jste odkazovali na kahi.cz/ra/ravens-as-1.6.zip
ale teď ne, teď odkážete na kahi.cz/ra/
a od tohoto okamžiku
až navždy – už nebudete muset odkazy upravovat. Skript bude vždy nabízet
soubor nejvyšší verze.
Pokud chcete poskytovat verzované soubory ve více formátech (a mít je ve stejné složce), není problém udělat dodatečně další probírku: odkažte na:
kahi.cz/ra/?type=.rar
kahi.cz/ra/?type=.tar.gz
kahi.cz/ra/?type=.md5
- a tak dále.
Není něco jasné? Zeptejte se v komentářích!
Komentáře (6)
k formuláři
RSS kanál komentářů
28.8. 2007 — 22:18
28.8. 2007 — 22:20
No, abych to s tou stručností nepřeháněl :-)
ad 1) vyřeší správné řazení 2.2 vs. 2.2.1
ad 2) vyřeší správné řazení 2.11.3 vs. 2.2
28.8. 2007 — 22:54
[1] dgx: → Jojo, na tohle jsem čekal! (A takle blízko jsem byl!) Teď potřebuju chvilku na pochopení… protože jestli to má být nezávislé na příponě, tak si je tam musím před uříznutím uložit… Ach jo. :-)
12.9. 2007 — 18:06
Nebude další verze čajoměřiče? Škoda. Čekal jsem na verzi, která mi podle rychlosti myši změří systolický a diastolický tlak.
12.9. 2007 — 20:14
[4] Lokutus: → Bohužel Lokute, vývoj Čajoměřiče je příliš náročný na udržování stabilního krevního tlaku. Přestože původně jsem ho chtěl naučit dělat i základní lékařské vyšetření. Tlak, tep, teplota krve a jiné banální parametry by nebyly problém implementovat, ale pak přijdou další lidé a další a další požadavky, jako třeba rozbor krve na leukémii nebo syfilis, a to už není taková brn-kačka.
16.9. 2007 — 2:38
[…] hours. Oh, no. I've just expended them while making this script public. By this article, and the Czech one. […]
Přidat komentář