Przegląd wybranych bibliotek Java Script do obsługi ekranów dotykowych

Ze względu na rosnącą liczbę wejść z urządzeń mobilnych na stronę oferującą usługi fotograficzne która korzysta z napisanej przez mnie parę lat temu dedykowanej galerii stanołem przed koniecznością zoptymalizowania jej pod kątem urządzeń z ekranami dotykowymi.
Jak powszechnie wiadomo dominujące na rynku przeglądarki lubią się zwalczać robiąc te same rzeczy w inny sposób, jednocześnie utrudniając prace webmasterom, w czym od zawsze prym wiedzie Internet Explorer. Z tego powodu postanowiłem zacząć od przeszukania frameworku Java Script który pozwolił by w zunifikowany sposób obsłużyć wszystkie dominujące przeglądarki tj. Firefox, Internet Explorer i Google Chrome.

Czytaj dalej

Porównanie kompresji compress, gzip, bzip2, xz, lzip, lzma, lzop

W poniższym artykule przedstawiam wyniki testów wybranych programów do kompresji i/lub archiwizacji plików. Przedstawione są wyniki testów uzyskane na rużnych zbiorach danych i rużnorodym sprzęcie. Zestawiono wyniki testow m.in. tar, compress, gzip, bzip2, xz, lzip, lzma, lzop, 7-zip (7z).

Na chwilę obecną wydaje się że wszędzie tam gdzie był stosowany compress można go zastąpić lzop, uzyskując mniejsze pliki w krótszym czasie. Warto też rozważyć zastąpienie gzip’a przez lzop – dostaniemy wtedy nieznacznie większych rozmiarów archiwa, ale w kilku-krotnie krótszym czasie. Natomiast jeżli chcemy uzyskać jak najmniejsze archiwym bez względu na czas kompresji najlepsze wyniki uzyskuja bzip2, lzip i lzma, ale jest to kosztem kilkukrotnie większego czasu kompresji niż przy zastosowaniu gzip, za co dostajemy o pare procent mniejsze archiwa.

Czytaj dalej

cp vs install – czyli dlaczego nie należy używać cp do instalacji programów i bibliotek

Parę słów odnośnie różnicy między programami cpinstall, czyli o tym jakie niemiłe skutki może spowodować instalowanie programów i bibliotek poprzez cp, zamiast install. Podstawowa „składnia” obu programów jest podobna, na pierwszy rzut oka wydaje się, że oba programy robią dokładnie to samo, jednak jak się często zdarza diabeł tkwi w szczegółach.

Czytaj dalej

Krótkie wprowadzenie do GNU make – czyli jak pisać poprawne Makefile

Make jest programem automatyzującym proces kompilacji programów, na które składa się wiele zależnych od siebie plików. Make przetwarza plik reguł Makefile, analizuje daty aktualizacji poszczególnych plików i wywołuje kompilacje tylko tych plików, które są zależne od plików które uległy zmianie od ostatniej kompilacji, co zaoszczędza wiele czasu przy tworzeniu programu, dzięki czemu nie ma potrzeby kompilacji całego projektu co pozwala oszczędzić czas. Ponadto umiejetnie zastosowany upraszcza i przyśpiesza proces instalacji i sprawia iż jest on bardziej elastyczny

Czytaj dalej

Replikacja i skalowanie PostgreSQL

Istnieje wiele metod replikacji i skalowania baz danych PostgreSQL aby wykorzystywał wiele maszyn. Poniżej zaprezentuje niektóre z dostępnych rozwiązań. Trzeba podkreślić, że nie ma jednego uniwersalnego/najlepszego rozwiązania replikacji i/lub skalowania baz danych PostgreSQL (tak jak PostgrSQL nie jest uniwersalnym/najlepszym rozwiązaniem we wszystkich zastosowaniach, a jedynie w ich pewnym <<aczkolwiek dość szerokim>> podzbiorze.)

Czytaj dalej

Elementarne podstawy MySQL — podgląd uprawnień, ustawianie i zamiana haseł, listowanie i tworzenie baz, tworzenie użytkowników i nadawanie im uprawnień

Poniżej przedstawiam kilka podstawowych zagadnień dotyczących MySQL — tworzenie nowych baz, użytkowników, nadawanie użytkownikom uprawnień, różne metody ustawiania i zmiany haseł, podgląd istniejących w klastrze baz oraz użytkowników i ich uprawnień.

Czytaj dalej

Przestrzenie tabel PostgreSQL – TABLESPACES

Przestrzenie tabel (ang tablespaces) PostgreSQL pozwalają na zdefiniowanie położenia w systemie plików, w którym przechowywane będą pliki reprezentujące obiekty bazy danych. Po utworzeniu przestrzeni tabel można odwoływać się do niej po nazwie podczas tworzenia obiektów bazy.
Jest to użyteczne jeśli kończy się miejsce na dysku/volumenie na którym klaster PostgreSQL został zainicjalizowany i nie można go rozszerzyc, wtedy przestrzeń tabel można utworzyć na osobnym dysku, w dodatku bez zatrzymywania PostgreSQL.
Ponadto, przestrzenie tabel umożliwiają na wykorzystanie wiedzy o wykorzystaniu struktury obiektów bazy do optymalizacji wydajności, np. poprzez umieszczenie mocno wykorzystywanych indeksów na bardzo wydajnych dyskach, np. SDD.

Czytaj dalej