Scott Tiger Tech Blog

Blog technologiczny firmy Scott Tiger S.A.

Archiwum: 'Linux Magazine' Kategorie

Linux Magazine 12/2010

Autor: Piotr Karpiuk o 7. grudnia 2010

Motywem przewodnim numeru jest poprawa wydajności różnych aspektów systemu.

Długi artykuł na temat poprawy wydajności bazy danych MySQL podchodzi do sprawy holistycznie i daje wskazówki na temat zarówno rozwiązań sprzętowych, administracyjnych na poziomie Linuksa, konfiguracji bazy danych, jak i aplikacji. Na przykład:

  • czasami warto skorzystać z faktu że dla każdej tabeli można osobno wybrać rodzaj silnika (np. bardzo szybki do odczytu MyISAM, lub transakcyjny InnoDB),
  • do testowania wydajności służą MySQL Benchmark Suite (świetny do porównywania zestawów sprzetu), MySQL Super Smack (testy wytrzymałościowe i generowanie obciążenia) oraz najbardziej wyróżniający się i wszechstronnySysBench,
  • od czasu do czasu można wykonać polecenia optimize table i analyse table aby ograniczyć fragmentację i odświeżyć indeksy,
  • wersja 5.1 wprowadziła funkcję partycjonowania, pozwalającą np. przekazać fragmenty tabeli do różnych systemów plików.

Skryptowy język programowania Python jest powolny ponieważ jest interpretowany, pamięć jest zarządzana automatycznie, a z racji korzystania z globalnej blokady język jest de facto jednowątkowy. Aby przyspieszyć ok. 4-krotnie programy eksploatujące CPU, najprościej jest użyć przeznaczonego dla architektur 32-bitowych Psyco – nie trzeba modyfikować istniejącego kodu (choć przyda się wiedza o tym jak działa aby bardziej podkręcić mechanizm). Około pięciokrotne przyspieszenie przy zachowaniu pełnej zgodności ze specyfikacją Pythona można uzyskać za pomocą rozwijanego przez twórcę języka bazującego na wersji 2.6.1 środowiska uruchomieniowego Unladen Swallow (trzeba sobie samemu pobrać źródła z SVNa i skompilować). Shedskin to eksperymentalny kompilator podzbioru Pythona do C++. Jeszcze inne podejście to zastosowanie nowego języka programowania Wirbel który przypomina Pythona ale w odróżnieniu od tego ostatniego jest językiem kompilowanym. Jego obsługa bibliotek jest jednak ograniczona.

Ponadto w numerze:
Czytaj więcej »

Napisany w Linux, Linux Magazine, Recenzja, Uncategorized | Brak komentarzy »

Linux Magazine 11/2010

Autor: Piotr Karpiuk o 12. listopada 2010

HTML5 to przygotowywana nowa wersja standardu HTML odzwierciedlająca potrzeby w zakresie współczesnych aplikacji webowych. Patrz osobny artykuł na blogu.

Drupal jest opensource’owym (GPL) systemem zarządzania treścią (CMS) napisanym w PHP i wykorzystującym platformę LAMP (Linux, Apache, MySQL, PHP). Tysiące istniejących witryn utworzonych w tej technologii pokazują, że można Drupala użyć do tworzenia serwisu społecznościowego, sklepu internetowego, bloga czy galerii fotografii. Bogaty zestaw blisko 7000 modułów pozwala rozszerzyć podstawowe możliwości platformy spełniając niemal dowolne zachcianki webmasterów. Czynności administracyjne można wykonywać nie tylko z poziomu WWW, ale również wiersza poleceń za pomocą programu Drush. Z kolei Drush Make pozwala utworzyć plik archiwum z dystrybucją własnej witryny opartej na Drupalu.

Google Skipfish to napisana w C, opensource’owa platforma do testowania bezpieczeństwa aplikacji webowych, która tworzy interaktywną mapę badanej strony korzystając z rekursywnego robota i opartych na słowniku sond. W przeciwieństwie do innych aplikacji z tej dziedziny (Nikto, W3af) nie ogranicza się do śledzenia umieszczonych w HTMLu linków. Znalezione problemy są kategoryzowane w grupach ryzyka: wysoka (np. wstrzyknięcia), średnia (np. XSS), oraz niska (np. problemy z certyfikatami X.509), zbierane są również istotne informacje takie jak wersja serwera, wszystkie odnalezione adresy email, napotkane typy plików. Używając opcji wiersza poleceń i modyfikując plik słownika możemy określić do jakiego stopnia Skipfish ma korzystać z metody siłowej, z jakich ma korzystać ciasteczek i jak ewentualnie wypełniać formularz logowania. Program działa bardzo szybko (do 7 tysięcy zapytań na sekundę) i może łatwo przeciążyć słabszy serwer lub przepełnić pliki dziennika.
Czytaj więcej »

Napisany w Linux, Linux Magazine | Brak komentarzy »

Linux Magazine 10/2010

Autor: Piotr Karpiuk o 21. października 2010

Libguestfs to zestaw narzędzi wiersza poleceń pozwalający operować na obrazach dysków, np. virt-df będący odpowiednikiem systemowego df, virt-resize do zwiększania rozmiaru dysku wirtualnego, virt-edit do edycji pliku tekstowego wewnątrz obrazu, czy virt-win-reg pozwalający na dostęp do rejestru Windows w obrazie systemu Microsoftu. Interaktywna powłoka guestfish obsługuje ponad 300 poleceń, można tworzyć własne skrypty (np. do klonowania maszyn wirtualnych z szablonów), dostępne jest API do języków programowania C, C++, Perl, Ruby, Python, OCaml, Java, Haskell i Mono (C#).

Remus to podejście do problemu odporności na błędy dla Xena. Wiele rozwiązań wykorzystuje mechanizm kroków zegara procesora który zapewnia wykonywanie dokładnie tych samych poleceń na obu procesorach dzięki czemu jedna instancja może zawsze zastąpić drugą, choć narzut związany z wydajnością jest ogromny. Remus synchronizuje maszyny wirtualne poprzez migrację (kopiowanie brudnych stron do systemu-cienia) co 200ms. Serwer aktywny buforuje wszystkie połączenia sieciowe i zatrzymuje pakiety do czasu kolejnej synchronizacji, dzięki czemu w razie awarii cień przejmujący kontrolę nie gubi żadnych pakietów.

EUPL (ang. European Union Public License) to stworzona przez Unię Europejską wolna publiczna licencja zaakceptowana przez organizację OSI i kompatybilna z zaleceniami Free Software Foundation, w szczególności zgodna z GPLv2 (m.in. jest „wirusowa”, pozwala każdemu korzystać z dzieła w dowolnym celu i rozpowszechniać go, daje dostęp do kodu źródłowego i zezwala na jego modyfikacje). Na jej powstanie wpłynęło kilka postulatów które nie są spełnione przez GPL: poprawność z punktu widzenia prawnego we wszystkich językach urzędowych UE i uwzględnianie różnic w poszczególnych prawach każdego państwa członkowskiego UE. Większość licencji jest napisana pod kątem USA i zawsze budziło wątpliwości czy interpretacja amerykańskich terminów prawnych znajdzie zastosowanie w innych krajach. Wszystko zaczęło się od tego, że Komisja Europejska stwierdziła, że używanie modelu FOSS jest idealnym sposobem rozwoju oprogramowania dla sektora publicznego. Dzięki abstrakcyjnemu, lecz czytelnemu podejściu, treść EUPL jest znacznie krótsza (ok. trzykrotnie) i łatwiejsza do zrozumienia niż GPL v3.

Vala i Genie to dwa obiektowe języki programowania zaprojektowane do współpracy z GNOME. Pierwszy ma składnię przypominającą C# i Javę, a drugi – Pythona. Czytaj więcej »

Tags: , , , , , , , ,
Napisany w Linux Magazine, Recenzja | Brak komentarzy »

Linux Magazine 09/2010

Autor: Piotr Karpiuk o 8. września 2010

Chmura to po prostu eleganckie określenie na czyjąś sieć i zasoby. Przetwarzanie w chmurze to obietnica łatwych w obsłudze, szybkich maszyn wirtualnych do wykorzystania w dużych sieciach. Cała idea polega na tym, by użyć istniejącej infrastruktury do stworzenia nowych systemów nie wymagających dodatkowego sprzętu. Istnieje kilka systemów (oprogramowanie umożliwiające wirtualizację: KVM, Xen, Virtualbox) i usług wirtualizacyjnych (część biznesowa – firmy oferujące zasoby w chmurze, najlepiej znany przykład to EC2 Amazona).

Cena dla małej (domyślnej) instancji wirtualnej maszyny w sieci Amazona to 8,5 centa na godzinę – jeśli wykonamy obliczenia dla miesiąca pracy, to przekonamy się że mały system to wydatek porównywalny z wynajęciem fizycznego sprzętu od dostawcy usług hostingowych, tyle że uzyskanie gotowej do użycia maszyny zajmuje zaledwie kilka minut. Możemy sobie wybrać region geograficzny gdzie ma być zlokalizowany sprzęt (USA, Irlandia, Singapur), wybrać rodzaj systemu operacyjnego (np. Linux Ubuntu) i po chwili możemy się już zaSSHować aby instalować pakiety, ładować dane, tworzyć użytkowników, uruchamiać serwery WWW i generalnie robić wszystko na co pozwala fizyczny serwer.

Chcąc się bawić wirtualizacją w swojej sieci, warto do zarządzania maszynami wirtualnymi wykorzystać program virt-manager który współpracuje zarówno z KVMem jak i Xenem. Można tu tworzyć nowe instancje, przydzielać fizyczne zasoby i komunikować się z instancjami przez klienta VNC. Na większą skalę w zarządzaniu całą chmurą pomoże nam openQRM.

Wirtualny pulpit w przeglądarce: komercyjny icloud szwedzkiej firmy Xcerion, czy opensourcowe eyeOS, CorneliOS, Lucid, jak również systemy dla netbooków: Chromium OS i Jolicloud to wciąż niewiele więcej, jak możliwość przechowywania danych, śliczny interfejs i linki do istniejących usług internetowych – często nieznośnie powolny i nie dbający o bezpieczeństwo. Minie jeszcze wiele czasu nim wirtualne pulpity zastąpią standardowe mobilne środowisko pracy – i wciąż nie ma pewności czy kiedykolwiek będą w stanie to zrobić.

Ponadto w numerze:
Czytaj więcej »

Tags:
Napisany w Linux, Linux Magazine | Brak komentarzy »

Linux Magazine 08/2010

Autor: Piotr Karpiuk o 8. sierpnia 2010


Standard ODF (ang. Open Document Format) zapisu plików pakietów biurowych umożliwia integrację z dokumentami semantycznych danych RDF (np. kontakty, lokacje, informacje o zdarzeniach), a pakiety biurowe OpenOffice i KOffice powoli zaczynają to wspierać. Używając przeciągania i upuszczania możemy z łatwością dodawać do dokumentów obiekty RDF i wielokrotnie się do nich odwoływać w treści, oszczędzając czas i dbając o aktualność danych. Jeśli w dokumencie zaznaczymy całość lub część kontaktu powiązanego z RDFem i skopiujemy tekst, metadane powędrują za nim do schowka.

Plazmoidy dla KDE poza C++ można pisać również w językach skryptowych JavaScript/QtScript, Ruby i Python. Do obsługi całego cyklu deweloperki (tworzenie struktury, podgląd, testowanie, pakowanie, publikowanie) można użyć powstającego IDE o nazwie PlasMate.

Ponadto w numerze:

  • KSystemLog (KDE), Gnome System Log Viewer (GNOME), MultiTail (wiersz poleceń, ncurses): narzędzia do przeglądania dzienników systemowych – udostępniają taką funkcjonalność jak podświetlanie słów kluczowych, filtrowanie, operacje na wskazanych rekordach (do schowka, do pliku, wydruk), formatowanie w kolumnach, automatyczne odświeżanie, śledzenie wielu plików logów jednocześnie
  • Go: nowy język programowania stworzony przez Google. W zamiarach ma być wydajny jak języki statycznie typowane, wygodny jak Python, wielowątkowy, z automatycznym zarządzaniem pamięcią. Notacja jest mieszanką notacji C, Javy i Pascala.
  • Nmon: interaktywny monitor zasobów systemu w trybie tekstowym (ncurses). Po uruchomieniu naciśnij klawisze CDNVT. Można również uruchomić w trybie wsadowym, zebrać próbki danych w CSV i analizować np. w Excelu
  • Terminator: emulator Gnome Terminala, który pozwala w jednym oknie managera okien wyświetlić kilka sąsiadujących terminali oddzielonych splitami. Terminale można łączyć w grupy aby wysyłać każde polecenie jednocześnie do wszystkich członków grupy. Układ terminali można zachować i uruchamiać w nich automatycznie na starcie wskazane polecenia shella
  • TreeLine: menedżer informacji, outliner
  • Synfig: program do tworzenia animacji 2D w formacie Flash
  • Gbrainy: zagadki logiczne do ćwiczenia umysłu (Mono, C#)

Napisany w Linux, Linux Magazine | Brak komentarzy »