Posts

Showing posts from September, 2008

Eclipse IDE

Wybór odpowiedniego środowiska programistycznego nie jest rzeczą łatwą, w przeciągu ostatniego roku IDE (Integrated Developement Enviroment) powstało bardzo wiele, jednym z ciekawszych jest Eclipse.Projekt ten powstał już parę lat temu pod auspicjami firmy IBM. W chwili obecnej najnowsza wersja Eclipse to 3.40.0 nosi kodowa nazwę Ganymede. Środowisko to jest o tyle ciekawe, że posiada relatywnie lekki rdzeń, do którego są włączane komponenty (pluginy). W chwili obecnej korzystam z Eclipsa do pisania programów w Javie (domyślnie instalowane), Perlu (Epic), Pythonie(PyDev), LaTeX(TeXclipse) i planuję zainstalować dodatek ułatwiający tworzenie skryptów shellowych. Różnorodność wspieranych języków nie jest jedyną zaletą tego projektu, dzięki elastycznemu systemowi pluginów można, korzystać bezpośrednio z systemu kontrolowania wersji takiego jak CVS, SVN i zapewne paru innych systemów wersjonowania oprogramowania, a także do modelowania baz danych (ERD), oraz modelowania w języku UML.Dzięk…

GPG error: public key is not available

Chyba nigdy nie zapamiętam co z tym zrobić :). Wszystkie operacje przedstawione w tym tekście wykonujemy z konta administratora, lub poprzedzamy sudo (dla tych co mają ubuntu i sobie nie zrobili konta roota). W: GPG error: http://.... testing Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY KEY_ID Instalujemy z repozytorium pakiet debian-keyring (GnuPG (and obsolete PGP) keys of Debian Developers). A następnie pobieramy klucze GPG z serwerów: gpg --keyserver wwwkeys.eu.pgp.net --recv-keys KEY_ID gpg --armor --export KEY_ID | apt-key add - i w końcu nie ma tego ostrzeżenia ;). Jeśli na wybranym key serwerze nie było kluczy to należy poszukać innego. Oto lista serwerów kluczy: wwwkeys.eu.pgp.netwwwkeys.pgp.netkeyring.debian.org/search.keyserver.netpgp.ai.mit.edu Jeśli klucz nie może zostać z pobrany na podstawie tych serwerów, można spróbować odnaleźć na stronie repozytorium sygnaturę do GPG, jak ma to miejsce przypad…

Perl File::Basename dlaczego używać?

Często pisząc skrypty w Perlu, wymagam od użytkownika podania pliku wejściowego do przetworzenia i nazwy pliku wyjściowego/katalogu w którym mają powstać wyniki.

Ta druga wartość bardzo często może zostać wygenerowana na podstawie informacji o nazwie pliku, który należy przetworzyć. Można to zrobić na wiele sposobów, oto niektóre z nich (od siebei dodam, że wszystkich 3 używałem, ale najlepszy wydaje mi się sposób 3).
Oto kod: #!/usr/bin/perl # Purpose: Why we should use libraries in Perl? use strict; use warnings; use File::Basename; my $inputFilePath = "/home/johny/projects/someSampleFile.txt"; my $outDirName ; # -- print "# version without additional modules\n"; my $ipf1 = $inputFilePath; $ipf1 =~ /(.*\/+?)?(.*)$/; $ipf1 = $2; $ipf1 =~ s/\.\w{0,3}$//g; $outDirName = $ipf1; print $outDirName."\n\n"; # -- # -- print "# version with File::Basename::basename\n"; my $ipf2 = File::Basename::basename($inputFilePath); $ipf2 =~ s/\.[a-zA-Z]+$…