Chyba jedyny polski blog o Perlu...

PerlWeb.pl "Jedną z cech postmodernistycznego języka programowania jest to, że kładzie nacisk nie na problem, który ma być rozwiązany, ale na osobę, która próbuje go rozwiązać" - Larry Wall » więcej »

05 marca 2012 ~ Komentarzy: 7

Kompilowane wyrażenia regularne i procedury – zabawy z wydajnością

Kompilowane wyrażenia regularne i procedury

Wydaje się, że w dzisiejszych czasach mało kto przejmuje się wydajnością. Moce obliczeniowe komputerów są ogromne, same komputery i ich podzespoły są stosunkowo tanie, a czas pracy programistów zawsze na wagę złota. Najczęściej liczy się przede wszystkim to, aby oprogramowanie powstało szybko, a jego kod był czytelny i łatwy w utrzymaniu, dobrze zmodularyzowany, dający się podzielić na części pisane przez duże zespoły. Często liczy się też wygoda użytkowników danego systemu, na przykład blogerów, osób, które nie maja wielkiej świadomości tego, jak działa używane przez nich oprogramowanie. Powszechnie stosowane rozwiązania PHP, … Czytaj dalej 

11 lutego 2012 ~ Komentowanie nie jest możliwe

Schwartzian Transform i opowieść o prawdziwym hackerze

Randal L. Schwartz

Z tego artykułu dowiecie się co to jest Schwartzian Transform i jak przy jej pomocy wydajnie sortować. Zobaczycie też, że to działa nie tylko w Perlu. Nauczycie się badać wydajność kodu w Perlu przy pomocy modułu Benchmark, dowiecie się jak porównać dwie tablice modułem Data::Compare i bez niego oraz poznacie życie pewnego starego hackera. Dawno, dawno temu… To było naprawdę w bardzo dawnych czasach, kiedy jeszcze Internet wykorzystywany był głównie do wymieniania się wiedzą, a nie do lajkowania obrazków z kwejka na fejsie. 15 grudnia 1994 roku niejaki Ken Brown … Czytaj dalej 

16 stycznia 2012 ~ Komentarzy: 3

List::Util, List::MoreUtils i mała ankieta

Toolbox

Na przykładzie dwóch wymienionych w tytule modułów bardzo dobrze widać zjawisko, które opisałem już kiedyś przy okazji omawiania Regexp::Common. Objawia się ono zamiłowaniem programistów do nieustannego wynajdywania koła, czyli pisania na nowo kodu, który ktoś już kiedyś napisał. W wypadku List::Util i List::MoreUtils zbrodnia ta jest szczególnie perwersyjna. Zanim przejdziemy do opisu tych modułów i ich zalet proponuję odpowiedź na mała sondę. Między innymi da mi ona jakieś pojęcie o profilu czytelników tego bloga. Bardzo proszę, udzielcie odpowiedzi przed przeczytaniem dalszego ciągu tekstu:   Do czego służą List::Util i List::MoreUtils. … Czytaj dalej 

09 stycznia 2012 ~ Komentarzy: 3

VirtualBox – dowolny system operacyjny w zasięgu ręki

VirtualBox

Są dwa powody, dla których postanowiłem opisać VirtualBox na tym blogu. Po pierwsze uważam, że to znakomite i narzędzie. Zawsze się dziwiłem jak wiele osób nie wie nawet o jego istnieniu, albo mu nie ufa. Zakłada z góry, że zapewne działa tak sobie, i że to bardziej zabawka dla geeków niż coś użytecznego. Mam tu na myśli osoby, którym VirtualBox przydałby się ewidentnie. Po drugie, już z perspektywy programisty w Perlu, jest to znakomite narzędzie do testowania, czy kod działa na różnych systemach. Przede wszystkim dotyczy to osób programujących moduły, … Czytaj dalej 

22 grudnia 2011 ~ Komentarzy: 15

Web scraping w Perlu czyli w pogoni za tłustymi chomikami

Chomik

Uczestniczyłem ostatnio w rozważaniach ile przestrzeni dyskowej jest potrzebne żeby odpalić usługę edysku, poczynając od takiej typowo chmurowej wersji jak Dropbox, a kończąc na takiej bardziej społecznościowej w rodzaju chomikuj.pl. Zastanawialiśmy się też, czy teoretycznie mogłoby być opłacalne postawienie takiej usługi na Amazonie. Po dłuższej chwili wróżenia z fusów i gdybania postanowiłem zrobić szybki eksperyment i oczywiście, jak do wszystkich szybkich eksperymentów użyłem Perla. Rezultaty eksperymentu wyszły i zabawne, i pouczające. Zacząłem się zastanawiać ile może zajmować miejsca przeciętne konto na chomikuj.pl, poklikałem chwilę po serwisie, podglądnąłem źródło strony i … Czytaj dalej 

11 grudnia 2011 ~ Komentarzy: 2

Idiomatic Perl – zabawy z tablicami

t-idiomatic

Mottem Perla jest słynne “There’s More Than One Way To Do It” I faktycznie język ten, jak chyba żaden inny, pozwala programiście na użycie czegoś, co wydawałoby się jest domeną tylko języków naturalnych, czyli „środków wyrazu”. Perl nosi piętno swego twórcy Larrego Walla, który jest przede wszystkim lingwistą. Dzięki temu jest językiem pełnym ekspresji, gdzie często występujące operacje można zakodować na wiele sposobów. Wśród nich jest zwykle sposób niezwykle zwięzły i często dowcipny, coś co można porównać do idiomu w języku naturalnym. Na poziomie ogólnym pisałem o tym trochę w … Czytaj dalej 

04 grudnia 2011 ~ Komentarzy: 2

WWW::Mechanize, REST API i JSON – prosty klient Blip.pl w Perlu

Blip.pl

Jednym z zastosowań, w których Perl jest naprawdę nieoceniony jest automatyczne pobieranie danych z serwisów internetowych i późniejsze ich przetwarzanie, niezależnie od tego czy dane te są dostępne w jakiejś wygodnej notacji, czy po prostu trzeba analizować kod strony w HTML. Od web scrapingu do API Pierwszym zastosowaniem tej techniki może być szeroko pojęty web scraping, czyli automatyczne zaciąganie treści ze stron WWW w formie takiej w jakiej widzi je użytkownik i przekształcanie w struktury danych, które mogą być dalej przetwarzane, używane i analizowane i wyświetlane na innych stronach. Niestety … Czytaj dalej 

25 listopada 2011 ~ Komentarzy: 2

Wybieramy framework MVC – a może Catalyst?

Web
Catalyst Web Framework

Jestem pragmatyczny i chociaż kocham Perla, to zaczynając tego bloga nie wahałem się przed użyciem WordPressa. Do tego jest stworzony i jest w tym naprawdę dobry. Masa dobrych, gotowych szablonów, wygodny edytor, sensowny zbiór tego co można zrobić łatwo i szybko, to duże zalety. Problem polega na tym, że jeśli myśli się o czymś bardziej złożonym niż blog, albo o czymś co będzie działało w dużej skali, bardzo szybko napotykamy na ścianę. Wiele rzeczy można zrobić mniej lub bardziej na siłę, ale wraz z każdą kombinacją rośnie komplikacja wszystkich kolejnych … Czytaj dalej