Narzędzia ułatwiające sprawdzanie poprawności linków

Jedną z najważniejszych rzeczy, o które trzeba zadbać podczas tworzenia stron internetowych jest poprawność adresów url. W tym konkretnym wpisie mam na myśli to aby po kliknięciu na dany odsyłacz serwer zwracał stronę ze statusem 200, albo przynajmniej przekierowanie, które ostatecznie trafi do treści docelowej. Wszelkiego rodzaju błędy (500 czy 404) są wysoce niepożądane tak dla użytkownika strony, jak i z punktu widzenia SEO.

Zadanie to mogą ułatwić narzędzia w stylu linkcheckera lub też dodatku do firefoxa Link Evaluator.

Linkchecker to przyjemne konsolowe narzędzie umożliwiające przetestowanie linków zarówno na stronach www udostępnionych w internecie, jak i tych zapisanych na lokalnym dysku. Istnieje też proste gui do niego, które ułatwia pracę ludziom niechętnie używającym terminala. Instalacja jest prosta w przypadku Ubuntu.

sudo apt-get install linkchecker linkchecker-gui

Oprócz sprawdzania statusów zwracanych przez wszystkie odsyłacze na stronie, linkchecker ma też szereg zaawansowanych opcji w tym sprawdzanie poprawności linków pod kątem zgodności ze specyfikacją html czy css, a także przeskanowanie zwracanej przez odsyłacz treści przez program antywirusowy ClamAV.

Link Evaluator to z kolei dodatek do przeglądarki Firefox. Ma on o wiele mniejszą funkcjonalność niż wspomniane wyżej oprogramowanie nie mniej jego zaletą jest łatwość użycia, wygoda i niezależność od systemu operacyjnego. Po wejściu na daną stronę WWW wystarczy kliknąć prawy przycisk, wybrać z menu kontekstowego „Evaluate Links” i poczekać aż wszystkie url-e na danej podstronie zostaną sprawdzone. Poprane adresy podświetlane są na zielono, z kolei na czerwono zaznaczane są nieprawidłowe linki. Wybranie z menu kontekstowego opcji „Link Evaluator Control Panel” otwiera okienko z opcjami dodatku, ale też z monitorem, w którym możemy obserwować przebieg pracy programu. Znalazłem kilka dodatków do firefoxa oferujących podobną funkcjonalność ale tylko Link Evaluator działał bezbłędnie i uwzględniał przekierowania.

Testowałem też kilka narzędzi online, ale żadne nie zwracało satysfakcjonujących wyników.

Konwersja cdr, ai, eps do svg

Nie jestem grafikiem, a do tego pracuję na Linuksie. Nie mam tej całej palety programów graficznych jak Photoshop, Adobe Illustrator czy CorelDRAW. Zazwyczaj mi to nie przeszkadza bo jeśli nawet dostaje jakiś layout do pocięcia to zlecam tę robotę innym. Do drobnych prac graficznych starcza mi Gimp, a niekiedy nawet edytor grafiki online Pixlr.

Niekiedy jednak trafiają mi się logotypy w formacie pliku AI (Adobe Illustrator Artwork), EPS (Encapsulated PostScript – Photoshop), CDR (CorelDRAW), a nawet PDF (Portable Document Format). Gimp poradzi sobie z plikami EPS choć nie najlepiej? Lepiej w tym wypadku sprawdzi się edytor grafiki wektorowej Inkscape, który zaimportuje pliki we wszystkich wyżej wspomnianych formatach i umożliwi ich zapisanie w domyślnym formacie SVG (Scalable Vector Graphics) lub też jako PNG albo XCF (natywny format Gimpa). Export do formatu XCF – co ważne – wykonywany jest z zachowaniem warstw. Inkscape umożliwia zapis pliku w wielu jeszcze innych formatach i jest dostępny w wersjach na Linuksa, Windowsa i Mac-a.

Jeśli mamy do czynienia z większą liczbą plików do przekonwertowania to wygodniejszym rozwiązaniem okazuje się skrypt uruchamiany z linii komend. Niestety funkcjonalność Inkscape-a jest ograniczona z poziomu konsoli dlatego warto sięgnąć do innych wyspecjalizowanych w tym względzie narzędzi takich jak uniwersalny translator grafiki wektorowej – Uniconvertor lub też translator plików Post Script i PDF do innych formatów grafiki wektorowej – Pstoedit. W Ubuntu oba programy dostępne są w repozytoriach i można je zainstalować za pośrednictwem apt-get -a

sudo apt-get install python-uniconvertor pstoedit

Ich użycie jest najprostsze z możliwych i ogranicza się do podania kolejno ścieżki do pliku źródłowego i ścieżki wynikowej.

uniconvertor logo.cdr logo.svg

i analogicznie dla pstoedit

pstoedit logo.eps logo.svg

Krusader w Ubuntu – jak podpiąć terminal?

Krusader jest dydykowany KDE jednak jeśli ktoś lubi dwa panele to równie dobrze można go uruchomić pod GNOME. Konfiguracja nie różni się właściwie od tej pod KDE poza kilkoma drobiazgami. W GNOME domyślnym edytorem jest „gedit” a konsolą „gnome-terminal” w związku z czym w zakładce Ustawienia -> Konfiguracja Krusadera -> Ogólne na karcie Podstawowe operacje w polu Edytor zamiast

internal editor

warto wpisać

gnome

natomiast w polu Terminal zamiast

konsole --workdir %d

powinniśmy wpisać

gnome-terminal --working-directory=%d

.

Tyle że po zapisaniu i wybraniu F2 terminal się uruchomi, ale bynajmniej nie w bieżącej lokalizacji. W Krusaderze jest błąd, który po zapisaniu zmienia %d na %25d czyli dostajemy gnome-terminal –working-directory=%25d. Można ten problem obejść edytując ręcznie plik konfiguracyjny ~/.kde/share/config/krusaderrc. W sekcji [General] wpisujemy

Terminal=gnome-terminal --working-directory %d

Proszę zwrócić uwagę na brak znaku równości „=”.

Aktualizacja Kubuntu do wersji 9.10 Karamic Koala

Zwykle podejmuję ryzyko aktualizacji systemu do nowszej wersji choć zawsze wtedy drżę czy wszystko pójdzie dobrze i czy znów nie spędzę paru godzin do doprowadzenia systemu do pełnej używalności.

Ostatnio tj. po aktualizacji do wersji 9.10 Jaunty Jackalope obyło się bez przygód. Byłem w niebo wzięty. Liczyłem, że i tym razem będzie podobnie. Niestety nie. Zaczęło się od tego, że nie mogłem nawiązać połączenia z netem. Nie bardzo rozumiem dlaczego system po aktualizacji gubi wszystkie dotychczasowe ustawienia, ale widać taki jest koszt aktualizacji KNetworkManagera. Niby pojawiło się w tym programie więcej opcji, niby zwiększyła się jego funkcjonalność, ale naprawdę nie wiem od czego zależy jego działanie. Nie dość że raz pokazuje wykryte sieci a innym razem nie to jeszcze już się skonfiguruje połączenie człowiek nie zawsze wie czy już się połączył czy jeszcze nie. Nie wspomnę, że KNetworkManager nie wykrywa rodzaju zabezpieczeń i nie potrafi połączyć się z siecią bezprzewodową z ukrytym SSID. Nie udało mi się skonfigurować połączenia przy zabezpieczeniu WPA2 Personal. Byłem już bliski sięgnięcia po wypróbowanego [WICD](http://wicd.sourceforge.net/) tyle, że bez netu nie mogłem go zainstalować 😉 W końcu udało mi się skonfigurować połączenie na WPA.

Przy wcześniejszych aktualizacjach zdarzało mi się, że musiałem na nowo konfigurować Apache-a lub też PHP. Widać, poradzono sobie z tym jednak ku mojemu zaskoczeniu problem pojawił się w miejscu, w którym absolutnie bym się go nie spodziewał. Po uruchomieniu [Eclipse-a](http://www.eclipse.org/) nagle przestało mi działać wyszukiwanie. Dokładniej rzecz biorąc to przyciski okien dialogowych przestały reagować na kliknięcie całkowicie je ignorując. Zrestartowałem Eclipse-a i nic. Zaciągnąłem sun-owskie środowisko uruchomieniowe sun-java6-jre i też to nic nie dało. W końcu (może powinienem od tego zacząć) sięgnąłem do googla i na [forum Ubuntu](http://forum.ubuntu.pl/) znalazłem [rozwiązanie](http://forum.ubuntu.pl/showthread.php?t=112148&highlight=eclipse). Dlatego właśnie używam tej dystrybucji. Wszelkie problemy szybko znajdują rozwiązanie.

Wracając jednak do Eclipse-a. Do czasu poprawienia błędu napisałem sobie skrypcik **eclipse.sh** ułatwiający uruchamianie eclipsa

export GDK_NATIVE_WINDOWS=1
/opt/eclipse/eclipse

Puki co więcej niespodzianek nie stwierdziłem i ogólnie rzecz biorąc jestem zadowolony z aktualizacji.

Nie wiem czy to tylko subiektywne wrażenie bo nie dokonywałem pomiarów, ale wydaje mi się, że system startuje szybciej. Po uruchomieniu pierwsze co się rzuca w oczy to poprawiony wygląd i usprawnienia w KDE 4.3.

Z dużym zadowoleniem przyjąłem ikonkę powiadomień, która na stałe zagościła na tatce systemowej. Teraz już nie ma problemu z przejrzeniem komunikatów o zdarzeniach mających miejsce w naszym systemie. Można je obejrzeć kiedy już znikną i samodzielnie zadecydować o ich usunięciu. Tego mi brakowało czemu dałem wyraz w jednym z wcześniejszych wpisów.

Cieszy też aktualizacja firefoxa do wersji 3.5, która nota bene powinna nastąpić już parę tygodni temu.

Czytałem, że zmiany nastąpiły co do wyboru domyślnego komunikatora. Ja mam to osobiście gdzieś gdyż używam tlen-a. O ile na Ubuntu nie miałem z nim nigdy większych problemów (nie licząc niedoskonałości wersji beta) o tyle na Kubuntu miałem wręcz permanentny kłopot, kiedy przychodziło do aktualizacji. Zwyczajnie po wpisaniu hasła nic się nie działo i trzeba było ręcznie ściągać nową wersję komunikatora – wiem, że to nie wina programistów Cannonical. Teraz ku mojemu zaskoczeniu aktualizacja po prostu się wykonała :D.

Zauważyłem parę zmian w menadżerze pakietów KPackageKit – zwłaszcza przy aktualizacji. Doceniam przede wszystkim możliwość sortowania wyników alfabetycznie. Do instalowania nowego oprogramowania jakoś mi ten program jednak nie pasuje i dalej sięgam do konsolowego aptitude.

To paradoks ale im dłużej używam Linuksa tym częściej sięgam do konsoli.

Eclipse Galileo

Przesiadka na Eclipse 3.5 Galileo była szybka, prosta i przyjemna. Developerzy eclipsa wpadli na świetny pomysł przygotowując specjalne pakiety dedykowane dla różnych grup programistów. Jeszcze nigdy przygotowanie eclipsa do pracy z PHP nie było tak proste. Wystarczy ściągnąć [Eclipse for PHP Developers](http://www.eclipse.org/downloads/) i mamy od razu do dyspozycji PHP Development Tools (PDT), Web Tools Platform, Mylyn.

Po uruchomieniu Galileo nie dojrzałem jakoś na pierwszy rzut oka wielkich zmian. Pierwsza różnica z jaką będziemy mieli okazję się zapoznać to zmiana w interfejsie do instalacji i aktualizacji nowego oprogramowania. 5 sek. konsternacji i już po chwili wiedziałem co i jak.

Ja osobiście do pracy potrzebuję jeszcze kilku innych plugin-ów. Do najważniejszych z nich należą:

[Subclipse](http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA) (http://subclipse.tigris.org/update_1.6.x), bez którego praca z svn jest nieco mniej przyjemna.

[Bazzar](http://bazaar-vcs.org/BzrEclipse/Installation) (http://bazaar-vcs.org/releases/3rd-party/bzr-eclipse/) – nie samym svn-em człowiek żyje.

[Target Management](http://www.eclipse.org/dsdp/tm/) (http://download.eclipse.org/dsdp/tm/updates/3.1/) projekt umożliwia m.in. pracę bezpośrednio na serwerze FTP. Wcześniej z tego powodu zainstalowałem Aptane, ale strasznie muliło mi eclipsa, poza tym powielało niektóre funkcjonalności PDT i WST. Parę spraw było tam lepiej rozwiązanych, a kilka gorzej poza tym było wszystkiego za dużo.

[Azzurri](http://www.azzurri.jp/eclipse/en/index.html) (http://www.azzurri.co.jp/eclipse/plugins) – modelowanie baz danych, synchronizacja schematu bazy z modelem, generowanie kodu SQL na podstawie modelu.