Archive for the ‘programowanie’ Category

Filed Under (programowanie, różne) by KooT on Czerwiec-28-2008

Honda dalej w serwisie. Dopiero w poniedziałek będzie zrobiona. Całe szczęście, że dali mi zastępczą Honde Jazz… chociaż dziwne rzeczy. Takie małe autko, taki mały silnik, a spalanie pokazuje na poziomie 10.4L/100km benzyny… oczywiście w Krakowie i w korkach. Ale zastanawiam się przy tym ile moja własna poczciwa Hania spala w takich samych warunkach…

W tym tygodniu miało miejsce ważne wydarzenie. Miałem własną prezentację w firmie. Zaproponowałem do naszego zespłu używanie narzędzia Trac. Wydawało mi się, że wiekszość programistów powinna go znać. Jak jednak uświadomił mnie mój Kierownik, tak nie jest. Kierownik też poprosił, jak to zwykle kierownicy robią, o prezentację Trac’a dla zespołu. Dziwna sprawa, ale to miała być moja pierwsza prezentacja w życiu. Nie wiem jak udało mi sie przetrwać studia bez takiej czy innej prezentacji. W każdym razie, stresu było sporo. Ci co mnie znają dobrze wiedzą, że do nazbyt komunikatywnych nie należę. W ostateczności nie było tak źle. Początkowe drżenie głosu minęło szybko… A mimochodem zaczepiony Kierownik, o wrażenie ogólne z prezentacji stwierdził, że było super, fajnie, że mało tekstu i przez to nie nudnie. W sumie o to mi chodziło. Po 2 dniach Kierownik poprosił o kolejną prezentację… Tzn. tę samą, ale już dla innego grona. Tym razem słuchaczami będą inni Kierownicy i Dyrektorzy…



Filed Under (programowanie) by KooT on Maj-6-2008

Na podstawie algorytmu znalezionego w sieci (c++), napisałem w perlu funkcje do generowania liczb rzymskich. Może komuś sie przyda :D

sub conv {
   my $toConv = shift;
   my @Num = (1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000 );
   my @Rom = ("I","IV","V","IX","X","XL","L","XC","C","CD","D","CM","M" ) ;

   my $res = '';
   for( my $i=12; $i>=0; --$i) {
      while ($toConv >= $Num[$i]) {
         $toConv -= $Num[$i];
         $res = $res . $Rom[$i];
      }
   }
   return $res;
}


Filed Under (programowanie) by KooT on Wrzesień-18-2007

Dużo ostatnio pracuję nad plikami XML. Zrobiłem też kilka testów modułów dostępnych w CPAN do parsowania plików XML.

  • XML::FeedPP – Bardzo ciekawy i wydajny moduł do parsowania RSS (0.9*,1.0,20) i ATOM. Ma możliwość łączenia kilku wersji feedów do jednej. Można połączyć ATOMa z RSS i stworzyć z tego ATOMA. Jedyną wadą jest bardzo mała możliwość wpływania na feed wynikowy, jeśli chcemy tam dodać własne tagi.
  • XML::SAX – To moduł do parsowania XMLi metodą SAX, która jest bardzo wydajna i obciąża serwer zdecydowanie mniej niż metoda DOM. W tym module do każdej wersji XMLa tworzymy własny handler, którym parsujemy plik. Moje testy pokazały, że ten był najszybszy z testowanych. Jednak nakład pracy do pisania handlerów był największy.
  • XML::Twig – Bardzo rozbudowany moduł do parsowania dużych i rozbudowanych XMLi kombinowaną metodą DOM i SAX. Ma dużo funkcji i dobrą dokumentację. Pod tym adresem jest rozbudowany opis i tutorial do tego modułu. Tutaj znaleźć można porównanie wydajności tego modułu, z modułem SAX XML::Filter::Dispatcher.
  • XML::Simple – najprostszy moduł do parsowania metodą DOM. Przydatny jedynie do małych plików, ponieważ całą zawartość XMLa wrzuca do pamięci (hasha). W przypadku małych plików szybki i wystraczający.


Filed Under (programowanie, www) by KooT on Październik-26-2006

Zapewne widzieliście już popularne ostatnio linki w serwisach typu adres.pl/cos/inne/ itp. Można by powiedzieć, że to jakaś moda zapanowała, ale kryje się też pod tym mechanizmem wszechobecne Google i marketing ;) Z takimi linkami w stronie łatwo i w ‘czysty’ sposób można zwiększyć oglądalność strony. Nie będę tutaj wdawał się w opis i wyjaśnienia czym jest Content Layering i SEO. Chciałbym tylko napisać jak szybko i prosto zrobić takie coś na własnej stronie.

Najczęściej używa się do tego modułu Apacha – mod_rewrite. Wystarczy taki moduł zainstalować i umożliwić korzystanie z .htaccess w katalogach (lub włączyć moduł w httpd.conf).
W pliku .htaccess umieszczamy: RewriteEngine on , to włączy nam moduł mod_rewrite. Następnie dodajemy regułki do przepisywania adresów np:

RewriteRule ^tekst/([0-9][0-9])/$ tekst.php?id=$1


Jeśli ktoś teraz wejdzie na naszą stronę wpisując adres adres.pl/tekst/12/ to moduł sprawi, że zostanie wywołany skrypt tekst.php ze zemienną id przekazaną do niego poprzez GET równą 12. W skrypcie tekst.php można odwoływać się do niej w standardowy sposób, jakby była przekazana właśnie GETem, czyli $_GET['id']. W nawiasach za RewriteRule są po prostu zwykłe wyrażenia regularne, które dopasowywane są do wpisanego adresu i jeśli zostaną dopasowane są przekazywane do skryptu. Możliwości są bardzo duże. Tutaj można znaleźć fajny plakat do wydrukowania nad biurko, właśnie do mod_rewrite, dostępnych zmiennych, reguł i kilka przykładów.




"h