Archive

Author Archive

Maven install:install-file w pom.xml

January 24th, 2010 Antoni Jakubiak No comments
Aby dodać plik do lokalnego repozytorium mavena należy skorzystać z wtyczki install. Na przykład:
mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dfile=jta-1.0.1B.jar -DgeneratePom=true
Ja jednak potrzebowałem możliwości deklarowania konieczności instalowania plików do repozytorium. Zrobiłem to tak:
<plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-install-plugin</artifactId>
 <executions>
  <execution>
   <phase>validate</phase>
   <goals>
    <goal>install-file</goal>
   </goals>
   <configuration>
    <file>/path/to/file.jar</file>
    <groupId>org.example</groupId>
    <artifactId>example</artifactId>
    <version>1.2.3</version>
    <packaging>jar</packaging>
   </configuration>
  </execution>
 </executions>
</plugin>
Może się to przydać, gdy łaczymy piękne projekty budowane z maven i inne – takie z których korzystamy z konieczności.
Categories: Zupełnie inne Tags:

Bajki o FastCGI w PHP

December 22nd, 2009 Antoni Jakubiak 1 comment

Ostatnio docierały do mnie głosy o FastCGI w PHP. Jednak ja w bajki nie wierzę. To co znalazłem w PHP tylko przypomina FastCGI.

Otóż, jak sama nazwa wskazuje FastCGI powinno być szybsze od CGI. Tymczasem, FastCGI dla PHP nie ma wpływu na szybkość działania a na zużycie pamięci. Czyli może działać szybciej, ale nie musi zależy od sposobu mierzenia. Tutaj jest porównanie szybkości mod_php i php-fpm.

Brodaci i brzuchaci programiści, tacy jak ja, którzy pamiętają jeszcze czasy Perla, wyobrażają sobie że FastCGI działa w następujący sposób. Serwer WWW uruchamia proces aplikacji, aplikacja startuje (co zwykle trochę trwa) i czeka na kolejne żądania. Aplikacja staje się jedną częścią z serwerem. W porównaniu z CGI lub standardowym sposobem uruchamiania PHP pozwala to zaoszczędzić czas potrzebny na start aplikacji. Wymaga to jednak specjalnego sposobu programowania i sumienności w zarządzaniu zasobami. Tymczasem sumienność w zarządzaniu zasobami nie była potrzebna w świecie PHP. W świecie PHP serwer WWW uruchamia aplikację, aplikacja drukuję stronę, kończy pracę i serwer po niej sprząta. Programista programuje szybciej, bo nie traci czasu na programowanie zarządzania pamięcią. Jednak aplikacja działa wolniej, bo nie może korzystać z dobrodziejstw FastCGI. Coś za coś. Programiści piszą szybko lub aplikacja działa szybko. Wybór należy do biznesu. W PHP nie ma FastCGI takiego, jak znają programiści Perla. W PHP nie ma FastCGI które było by szybsze i pozwalało zaoszczędzić czas potrzebny na inicjalizację aplikacji.

PHP działa tak:

Tak działa prawdziwe, szybkie i brodate FastCGI:

 

Nie wiem jak działa FastCGI w PHP ale na pewno nie tak gdyż nie ma do tego API i biblioteki w PHP nie są przystosowane do takiej pracy. Jeżeli FastCGI w PHP będzie działać tak jak w Perlu, to chcę o tym wiedzieć.

Tu jest info o FastCGI dla Perla.

Categories: PHP Tags:

Facebook API

December 9th, 2009 Antoni Jakubiak 1 comment

Ostatnio mam przyjemność walczyć z interfejsami programistycznymi serwisów internetowych takich jak: Facebook, MySpace, Twitter, Digg, Flickr, YouTube, Vimeo czy Open Social. Muszę przyznać, że API które zrobiło na mnie największe wrażenie to Facebook XFBML.

Szczerze mówiąc, nie wiedziałem że tak się da zrobić… Spodziewałem się takich technologii jak REST, WebServices czy osadzenie pływających ramek… Ale to co zrobił Facebook po prostu mnie zaskoczyło. Nie wiedziałem wcześniej że tak się da… I że to takie proste.

Otóż na swojej stronie XHTML osadzam specjalne tagi, które są rozszerzeniami Facebooka dla XHTML. Dodaję kilka linii JavaScriptu i działa. Moja przeglądarka internetowa wyświetla tagi Facebooka, na przykład kod strony: <fb:prompt-permission perms="publish_stream,offline_access">Czy zgadzasz się aby publikować na Facebooku</fb:prompt-permission> wyświetli mi pytanie o prawa dostępu. Inne tagi wyświetlają zdjęcia użytkowników, formularze komentowania i logowania lub przyciski zostań fanem.

Oczywiście, to jest proste tylko z pozoru. Programiści Facebook musieli się nieźle nagimnastykować, chociażby po to żeby współpracować z poziomami bezpieczeństwa przeglądarek internetowych. Podziwiam za odważny pomysł i dobrą realizację.

Przeglądanie logów w Eclipse

December 9th, 2009 Antoni Jakubiak 1 comment

Znudziło mi się przeglądanie logów w konsoli systemu.

image

Postanowiłem więc zainstalować wtyczkę do Eclipse IDE do tego. Wybrałem pierwszą z brzegu – NTail. Działa dobrze, czyli logi wyświetlają się w IDE.

image

Przydało by się jeszcze kolorowanie słówek kluczy, takich jak: error, fatal, warning.

Categories: Eclipse Tags: ,

Oddam kocięta

December 6th, 2009 Antoni Jakubiak 2 comments

Nasza kotka znów nas przechytrzyła. Gdy tylko zorientowała się, że chcemy ją wykastrować – to zwiała. Dlatego, oddam teraz dwa kocięta: czarnego i burego. Kocięta urodziły się 15 października, mają już 8 tygodni i najwyższy czas, aby znalazły sobie opiekunów. A nasza kotka – Mućka – będzie miała surowy szlaban i tym razem na pewno się już nie wymknie.

Kotki do odbioru w Grójcu, mogę też podwieźć.

 

Categories: Zupełnie inne Tags:

Windows 7

December 3rd, 2009 Antoni Jakubiak No comments

Dzięki uprzejmości mojego kolegi, mogę od kilku dni pobawić się najnowszym dziełem Microsoftu. Muszę przyznać, że produkty tej firmy podobają mi się coraz bardziej.

Pierwszym miłym zaskoczeniem był dla mnie temat graficzny – Polska, fajnie jest mieć zaraz po instalacji Morskie Oko lub Malbork. Taka drobnostka, a duży plus się za to Microsoftowi należy!

image

Nowy pasek zadań nie był dla mnie niespodzianką. Zdążyłem jego zalety poznać już patrząc na pulpity innych. Nowy pasek zadań jest jak dla mnie naprawdę super, jednak moją żonę wkurzył. Ola usiłowała włączyć przeglądarkę Chrome, i była zdziwiona bo a to się chowała a to pokazywała jakaś strona z dziwnymi znaczkami… Za pasek zadań daję olbrzymiego plusa, choć wiem że sporo ludzi będzie na niego narzekać.

image

Nowy pasek zadań daje też przewagę Internet Explorerowi nad konkurencyjnymi przeglądarkami. Na pasku zadań widzimy zakładki otwarte w IE. To na prawdę fajne. Nie fajne jest jednak to, że IE parę razu już mi się zawiesiło… Jednak, tym razem pad IE nie pociąga za sobą konieczności restartowania połowy aplikacji. Mały plus.

Automatyczne aktualizacje system przebiegły tak, że prawie ich nie zauważyłem. Informacja, o tym że nie mam antywirusa nie była tak nachalna jak w przypadku Visty. Pobrałem jednak antywirus Microsoftu Security Essentials o którym wiedziałem już wcześniej, że nie przymula za nadto systemu.

image

Później odkryłem coś zastraszającego. Byłem w szoku. Jest już Eclipse w wersji 3.5.1. O kurcze, musiałem być nieźle zarobiony, przegapiłem dwie wersje… I jest też wersja dla platformy 64 bitowej. I to działa. Jestem w szoku. Oczywiście, to nie zasługa Microsoftu, jednak to że na Windzie działa dobrze dobre IDE jest dobre.

image

Później spróbowałem PostgreSQL. Pamiętam, że trzy lata temu utyrałem się przy tym. Tym razem, wszystko poszło gładko. Czyżbym nie znalazł nic, do czego można się przyczepić?

image

Zamiast Apacha, postanowiłem spróbować Zend Community Server + Apache. I znowu bezproblemowa instalacja. Nudy… Chociaż, mam wrażenie, że na Viscie działało szybciej…

image

Zastanawiałem się, jak długo wytrzymam bez Cygwina. Pewnie nie dałbym rady, ale zainstalowałem coś podobnego – GnuWin32. Muszę przyznać, że konsola to wciąż największa bolączka systemów Microsoftu. Próbowałem jakiś programików, niestety wszystko to pozostaje daleko w tyle do tego, co oferuje Linux z pudełka, daleko nawet za Cygwin + RXVT.

image

Na deser, najprzyjemniejszym zaskoczeniem jest program Windows Live Writer. Właśnie w nim piszę ten artykuł na bloga. Mam wrażenie, że ten darmowy program do pisania blogów sprawdzi się lepiej niż Microsoft Word. Word ma fajne formatowania, ale nie ma edycji źródła.

image

W mojej opinii, Windows 7 to zdecydowanie najlepszy system Microsoftu. Dlatego że ma temat graficzny ze zdjęciami z Polski, dlatego, że ma nowy pasek zadań, dlatego, że bez problemów zainstalowałem bazę danych, serwer WWW, środowisko programistyczne. I dlatego, że bez problemu wklejam zrzuty ekranu do bloga.

Categories: Recenzje, Windows Tags:

csplit a olbrzymie pliki

December 2nd, 2009 Antoni Jakubiak No comments

Moim zadaniem było naprawić uszkodzony plik kopii bezpieczeństwa bazy danych PostgreSQL. Wiedziałem w której linii jest błąd i na czym polega, jednak plik kopi bezpieczeństwa był na tyle olbrzymi, że edycja jego edycja była bardzo utrudniona. Z pomocą przyszedł mi program csplit znaleziony w pakiecie GnuWin32. Program ten potrafi podzielić plik na mniejsze na podstawie dopasowania przez wyrażenie regularne. Wydałem następujące polecenie:

csplit –f "out_" nazwa_pliku_backup.sql "/^COPY /" {*}
head –n 1 out_*

W wyniku pracy programu csplit uzyskałem kilkadziesiąt mniejszych plików – po jednym dla każdej tabeli w bazie.

Categories: Bazy danych, Programowanie Tags:

Ciasteczko dla PE

November 26th, 2009 Antoni Jakubiak No comments

Parlament Europejski przegłosował zmiany w regulacjach telekomunikacyjnych które dotyczą między innymi ciasteczek.

Ciasteczka w Internecie, są równie ważne jak te w cukierni. Dzięki ciasteczkom działają takie usługi jak reklamy, zaawansowane statystyki lub zwykłe logowanie się do poczty na stronie WWW. Zastanawiam się więc, co Parlament Europejski ma do tej techniki. Zajrzałem więc do dokumentów źródłowych, które są mętne:

Osoby trzecie mogą chcieć przechowywać informacje na urządzeniach użytkownika lub uzyskiwać dostęp do informacji już przechowywanych z wielu względów, począwszy od uzasadnionych (takich jak niektóre rodzaje cookies), a skończywszy na tych obejmujących nieuzasadnioną ingerencję w sferę prywatną (takich jak oprogramowanie szpiegowskie lub wirusy). Dlatego też ogromne znaczenie ma przekazywanie użytkownikom jasnych i wyczerpujących informacji, gdy podejmują jakiekolwiek działania, które mogłyby skutkować nieuprawnionym przechowywaniem lub dostępem. Metody udostępniania informacji oraz oferowania prawa do odmowy powinny być jak najbardziej przyjazne dla użytkownika. Wyjątki od obowiązku udzielania informacji i oferowania prawa do odmowy powinny być ograniczone do tych sytuacji, w których techniczne przechowywanie lub dostęp jest ściśle konieczny do realizacji zgodnego z prawem celu, jakim jest umożliwienie korzystania z określonej usługi, której abonent lub użytkownik wyraźnie zażądał. W przypadku gdy jest to technicznie możliwe i skuteczne, zgodnie z odpowiednimi przepisami dyrektywy 95/46/WE, użytkownik może wyrazić zgodę na działanie poprzez zastosowanie odpowiednich ustawień w przeglądarce lub innej aplikacji. Egzekwowanie powyższych wymogów powinno stać się skuteczniejsze w drodze przyznania właściwym organom krajowym większych uprawnień.
http://ec.europa.eu/information_society/policy/ecomm/doc/tomorrow/reform/citizens_rights_directive/st03674.pl09.pdf (strona 35)

Cieszę się, że Parlament Europejski uważa ciasteczka za uzasadnione – to dobry znak.

Martwią mnie jednak te metody “oferowania prawa do odmowy”. Teoretycznie każda przeglądarka internetowa ma mechanizm blokowania plików cookies, jednak domyślnie prawie zawsze jest on wyłączony. Dlatego, w kwestii tego zalecenia, najlepiej wypada przeglądarka Konqueror który pyta się o ciasteczka do skutku.

Co będzie jednak, jeżeli rządzący uznają że zabezpieczenia przeglądarek są niewystarczające i to twórcy aplikacji internetowych muszą dostosować się do prawa? Czy wtedy twórcy aplikacji internetowych będą musieli wyświetlić komunikat: “czy akceptujesz pliki cookies?”

Categories: Polityka Tags:

„Nie kradnij bo Cię złapią”

November 25th, 2009 Antoni Jakubiak 3 comments

Nie podoba mi się kampania www.oni-nielegalni.pl. Zgadzam się z ideą, nie zgadzam się z formą.

To tak, jakby mówić: “Nie kradnij samochodu bo Cię złapią” – “A jak mnie nie złapią to czy mogę kraść?”

Nie o to chodzi. Kampania “Bądź legalny” nie powinna być prowadzona jako zastraszanie przed wymiarem sprawiedliwości. Kampania “Bądź legalny” powinna być prowadzona bazując na hasłach takich jak:

  • “Nie kradnij samochodu, bo to jest złe”
  • “Nie używaj nielegalnych programów, bo to nie jest uczciwe”
  • “Odkryj darmową muzykę w sieci”
  • “Pograj w piłkę na dworze, zamiast w piłkę na komputerze”

Co o tym sądzicie?

Categories: Polityka Tags:

Google Wave

November 11th, 2009 Antoni Jakubiak No comments

Testuję Google Wave, niestety wymiękło…

Google Wave jest naprawdę interesującym narzędziem do komunikacji. Jeżeli programiści je zrozumieją a ludzie zaczną używać to będzie naprawdę niezła zabawa.

W Google Wave mogę na przykład utworzyć nową falę konwersacji do której mogę wkleić mój gadżet szachów i omalże mógłbym grać z swoim znajomym. Oczywiście, wcześniej musiałbym dodać obsługę odpowiedniego API co powinno zająć mi ze 2 lub 3 noce….

Categories: Google Tags: