Ostatnie wiadomości
Na wypadek gdyby ktoś miał konto na www.hosteurope.de lub u ich resellerów (np. hosting w eHost.pl.
Traf chciał, że przypadkiem skasowałem, zamiast przesunąć ważny folder - mały, bo mały, 300mb z 15gb serwera. Po pierwszych sekundach paniki przyszło opamiętanie - mam backup! Backup z przed 10 dni, akurat nic nie było zmieniane!
Niestety, backup zrobiłem z poziomu Virtuozzo i jak się okazuje, jest to obraz dysku. Po konsultacji z eHost, dowiedziałem się, że uprzejmi panowie z Niemiec jasne, że są w stanie odzyskać ten jeden folder za mnie. Za jedyne 25EUR za każde rozpoczęte 15 min pracy.
Zostaje jeszcze druga opcja - backup z teraz, restore starej kopii, zgranie plików, restore nowej kopii. Zgadnijcie, którą opcję wybrałem. Podpowiedzią może być godzina dodania notki ;-)
Małe podsumowanie:
- zrobienie backupu 15gb - 1:20h
- restore starego backupu - 1:13h
- zgranie plików - 0:15h
- restore nowego backupu - 1:13h
Czyli jestem jakieś4 godziny w plecy, ale jeżeli panowie w Niemczech mieli by to robić, to zakładam, że zajęło by to im z 2 godziny, czyli 200EUR. Odeśpię kiedy indziej ;-)
Notka nie ku przestrodze (F6! F6! To zawsze jest F6 w mc, nie F8!) i dla potomnych, bo niestety Virtuozzo nie ma informacji ile jeszcze zajmie operacja, a Google nie pomogło. Uwaga - podczas restore w panelu będzie pokazana zajętość dysku - skacze od 0% do 10% (1% co ~10 minut) a potem już skacze na tyle, ile de-facto zajmuje i trzeba ponownie uruchomić VPS!
Po raz kolejny w pracy padło ciekawe pytanie - czy da się zrobić tak, by kolor przekreślenia tekstu był inny niż sam tekst - była to cena w sklepie i tak lepiej wyglądało grafikowi. Dać się da, ale jeden haczyk - wszystko powinno dać się edytować za pomocą edytora WYSIWYG i klient nie ma nigdzie widzieć HTML. Oczywiście im mniej roboty dla Java Script / preg_replace tym lepiej.
Pierwszy pomysł jaki przyszedł mi do głowy ("Podejście 2") to zmniejszenie wysokości kontenera tekstu i zastosowanie overflow: visible. Oczywiście, o ile problem rozwiązany w 5 sekund w Firefox i innych nowych przeglądarkach, o tyle w Internet Explorer 6 dalej nic. Postanowiłem pójść dalej tym tropem - kilka expression w CSS później i rozwiązanie działa też w IE6. Niestety - poza zwiększeniem wykorzystania CPU przez przeglądarkę - ma też inne błędy (opisane w przykładach).
Kolejne rozwiązanie ("Podejście 1") - mogło by wydawać się oczywiste - to osadzenie w tagu <del> dodatkowego <span>, nadanie odpowiednich kolorów odpowiednim znacznikom i gotowe. Niestety, jak już wspomniałem, klient nie będzie oglądał HTML a jedynie wprowadzał go poprzez FCK Editor - więc zostaje albo JS (który można wyłączyć) albo przepisywanie HTML przed wyświetleniem (a wtedy w czasie edycji nie będzie widać przekreślenia).
W ten sposób doszliśmy do kolejnego podejścia ("Podejście 3") - tym razem satysfakcjonującego moje potrzeby - mały GIF w tle. Proste? Można jeszcze prościej - zamiast GIFa w tle dajmy obrazek 1 pixelowy w CSS za pomocą zapisu data (ok, ok - nie działa pod IE6 więc zastajemy przy GIFie ;-))
Tok myślenia oraz ostateczne rozwiązanie można podejrzeć tutaj. Starałem się sprawdzić pod wszystkim co mam pod ręką (IE6, IE8, FF3, Opera 9, Chrome 2 i Safari 4) i wygląda, że działa poprawnie. Czego to Ci graficy nie wymyślą ;-)
Kilka lat temu z potrzeby chwili napisałem skrypt do sprawdzania formularzy HTML za pomocą JavaScript przed ich wysłaniem - miał on z założenia być prosty i służyć do weryfikowania formularzy kontaktowych, składających się głównie z pól tekstowych tj. "imię i nazwisko", "adres e-mail" oraz "treść wiadomości".
Z czasem skrypt ewoluował, został dodany do firmowego CMSu i zaczął być szerzej używany. Postanowiłem nieco odświeżyć kod - wzbogacić go o parę opcji i przerobić na obiektowy. W ten sposób vForm przekształcił się w cValidate i dorobił numerka 1.1
Sam skrypt można zobaczyć w akcji i przetestować on-line. Będę wdzięczny za uwagi, jeżeli komuś coś nie działa lub działa nie poprawnie.
Instalacja skryptu jest banalnie prosta - wystarczy dołączyć do strony bibliotekę, do pól, które chcemy sprawdzić dodać odpowiednie klasy (więcej na ten temat na stronie demonstracyjnej oraz w samym źródle skryptu) i przed wysłaniem formularza wywołać metodę cValidate.validate(obj) (gdzie obj to Obiekt formularza do sprawdzenia).
P.S. Proszę wziąć pod uwagę, że nie ma to być rozbudowany skrypt opierający się na rozbudowanych bibliotekach pokroju jQuery czy MooTools więc jego możliwości są ograniczone - przypominam, że ma służyć on raczej do weryfikacji prostych formularzy kontaktowych oraz być łatwy i szybki do implementacji.
Na oficjalnym blogu Google pojawił się właśnie wpis o tym, że gigant planuje wydanie własnego systemu operacyjnego czerpiącego dużo z boomu na Cloud Computing.
Oczywiście Google nie ma zamiaru pisać od zera całego systemu -Google Chrome OS to tak naprawdę zestaw narzędzi działających na firmowym menadżerze okien pod kontrolą systemu GNU/Linux. Wg. zapewnień autorów notki system ma być lekki, pracować na procesorach x86 oraz ARM, co nie jest wielką niespodzianką biorąc pod uwagę podwaliny Linuxowe.
System przeznaczony ma być dla użytkowników wykorzystujących komputer głównie do pracy oraz do przeglądania internetu. Dzięki zastosowaniu w/w Cloud Computing nasze dane będą dostępne dla nas z wielu różnych urządzeń - po prostu większość informacji przechowywana będzie na zasobnych serwerach Google.
Planowana data wydania systemu to druga połowa 2010 roku - zostaje nam tylko czekać na wczesne bety ;-)