tag:blogger.com,1999:blog-60931943410696550332024-03-05T18:20:39.719+01:00W świecie nowoczesnego ITpiórem Mariusza LipińskiegoMariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.comBlogger165125tag:blogger.com,1999:blog-6093194341069655033.post-5572794899643868762017-08-16T14:33:00.002+02:002017-08-16T14:39:56.215+02:00Filmowa historia Bitcoina<div style="text-align: justify;">
Interesując się kryptowalutami i technologią Blockchain nie sposób jednocześnie nie interesować się Bitcoinem. Od Bitcoina wszystko się zaczęło i nadal Bitcoin pozostaje w centrum tego wszechświata. Chcąc dobrze Bitcoina zrozumieć trzeba spojrzeć nieco wstecz - przyjrzeć się temu jak Bitcoin się rozwijał. Jest to tym łatwiejsze, że dosyć przyjemne. Wystarczy obejrzeć film "<a href="http://www.imdb.com/title/tt2821314/" target="_blank">The Rise and Rise of Bitcoin</a>" w reżyserii Nicholasa Mrossa.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
"<a href="http://www.imdb.com/title/tt2821314/" target="_blank">The Rise and Rise of Bitcoin</a>" to film dokumentalny a nie szkoleniowy. Oznacza to tyle, że dobrze jest przed jego obejrzeniem wiedzieć mieć więcej co to jest Bitcoin i jak działa. W przeciwnym wypadku może pojawić się zupełnie nieuzasadnione rozczarowanie i opinia na miarę tej z serwisu <a href="http://www.spidersweb.pl/2014/10/the-rise-and-rise-of-bitcoin.html" target="_blank">www.spidersweb.pl</a>. Moim zdaniem film jest znakomity a taka jego recenzja zupełnie nieuzasadniona i wynikająca z niezrozumienia istoty filmu i fenomenu Bitcoina. To nie jest film który ma na celu wyjaśnić od podstaw czym jest Bitcoin, natomiast w znakomity sposób ukazuje jego fenomen. Smaczku dodaje fakt, że film składa się z oryginalnych nagrań kręconych z biegiem lat, wraz z rozwojem Bitcoina, co sprawia że jest on bardzo autentyczny i wyjątkowo dobry.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Nie będę zdradzał fabuły, ale zwrócę uwagę na dwa ciekawe wątki z tego filmu. Po pierwsze jest to pewien młody i skromny ale bardzo zdolny człowiek, który pojawia się w nim na kilka chwil - <a href="https://en.wikipedia.org/wiki/Vitalik_Buterin" target="_blank">Vitalik Buterin</a>, twórca Ethereum. Po drugie, zostaje w filmie wyrażona myśl która w pełni oddaje to co ja sam myślę o kryptowalutach i Bitcoinie w szczególności. Jest to porównanie kryptowalut do Internetu. Podobnie jak początkowo nikt nie doceniał i nie rozumiał Internetu oraz nie umiał przewidzieć w jaki sposób Internet może zmienić świat, tak teraz nikt nie wie w jaki sposób świat zmieni się za sprawą kryptowalut. Natomiast... podobnie jak wówczas tak i teraz niektórzy dostrzegają ogromny potencjał. I jeszcze do tego stwierdzenie, że aby kryptowaluty zrozumieć, po prostu trzeba ich zacząć używać. Nie mógł bym się zgodzić bardziej. Podobny fenomen miał miejsce w odniesieniu do Facebooka, tylko na mniejszą skalę. Trudno było komuś kto nigdy go nie używał zrozumieć o co w tym chodzi, do czego to służy i dlaczego ludzie chcą tego używać. Takich fenomenów nie sposób zrozumieć bez stania się ich częścią.</div>
Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com3tag:blogger.com,1999:blog-6093194341069655033.post-36080075618560837932017-08-11T16:46:00.005+02:002017-08-11T16:55:01.408+02:00Kantory, giełdy i portfele kryptowalut<div style="text-align: justify;">
W swoim ostatnim artykule "<a href="http://www.mariuszlipinski.pl/2017/08/co-to-jest-bitcoin.html" target="_blank">Co to jest Bitcoin</a>" wprowadziłem delikatnie temat kryptowalut - na przykładzie najbardziej popularnej z nich, Bitcoina - ale było to wprowadzenie ogólne. Osoby nie zorientowane w temacie zachęcam do rozpoczęcia od lektury tamtego tekstu.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Żeby kryptowaluty zrozumieć trzeba ich trochę poużywać: kupić, sprzedać, wymienić. Pora przyjrzeć się bliżej temu jak to możemy zrobić. Kiedy piszę o kupnie kryptowaluty, to mam na myśli wymianę waluty tradycyjnej na kryptowalutę. Kiedy piszę o sprzedaży kryptowaluty to mam na myśli proces odwrotny, czyli wymianę kryptowaluty na walutę tradycyjną. Kiedy piszę o wymianie, mam na myśli wymianę pewnej kryptowaluty na inną kryptowalutę. Waluty tradycyjne to np. Złoty Polski, Euro czy Dolar Amerykański.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Żeby kryptowaluty kupić, musimy mieć przede wszystkim gdzie je przechowywać. Wiemy już - chociażby z tekstu o którym mowa na początku, albo skądinąd - że do tego celu służą tak zwane portfele (słowo portfel jest tu zwodnicze, albowiem portfel dla kryptowalut działa zupełnie inaczej niż portfel tradycyjny - upewnijmy się, że rozumiemy różnice zanim pójdziemy dalej). O portfelach słów kilka napiszę innym razem, natomiast teraz wystarczy nam poczynić jedno fundamentalne rozróżnienie. Otóż rozróżnienie fundamentalne jest takie, że portfel może być nasz, tj. kontrolowany w pełni przez nas, lub nie nasz, tj. kontrolowany przez kogoś innego. I w ten oto sposób dochodzimy do tematu giełd i kantorów.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Co to jest giełda kryptowalut? Tutaj niespodzianek nie ma. Giełda jest to serwis internetowy za pośrednictwem którego możemy kupować, sprzedawać i wymieniać kryptowaluty. Giełdy oczywiście bywają różne - są takie które umożliwiają jedynie wymianę kryptowalut, są też takie na których możemy również kupować i sprzedawać. Obszerne listy giełd znajdziemy w znanych nam już serwisach <a href="https://coinmarketcap.com/exchanges/volume/24-hour/all/" target="_blank">coinmarketcap.com</a> czy <a href="https://www.cryptocoincharts.info/markets/info" target="_blank">cryptocoincharts.info</a>. Ja osobiście polecam giełdę <a href="https://bitbay.net/" target="_blank">bitbay.net</a> ze względu na to, że jest to giełda polska i w związku z tym oferuje pewne udogodnienia takie jak możliwość kupna czy sprzedaży za Złote Polskie oraz giełdę <a href="https://bittrex.com/" target="_blank">bittrex.com</a> ze względu na to, że oferuje dostęp do dużej liczby kryptowalut alternatywnych, tzw. altcoinów (czyli kryptowalut innych niż Bitcoin). Tej pierwszej można używać do kupowania i sprzedawania za Złotówki, tej drugiej do wymiany Bitcoinów albo Ethereum na inne, mniej popularne kryptowaluty.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Jak co do zasady używamy giełd? Zaczynamy oczywiście od rejestracji, potem przelewamy jakieś środki na konto giełdy po czym obracamy tymi środkami w ramach tego konta i po jakimś czasie wypłacamy. Wpłacać i wypłacać możemy także kryptowaluty - nie tylko waluty tradycyjne. Oczywiście wpłaty, wypłaty i wymiany w ramach konta prowadzonego dla nas przez giełdę mogą się dowolnie przeplatać. Co tu jest ważne? Otóż to, że wszystkie nasze środki są de facto na kontach należących do giełdy. Waluty tradycyjne w praktyce przechowywane są na rachunkach bankowych należących do giełdy, zaś kryptowaluty w portfelach kontrolowanych przez giełdę. Zalecany sposób korzystania z giełd jest taki, że nie powinno to być miejsce przechowywania środków. Jeśli chcemy kryptowaluty przechowywać przez dłuższy czas, bez aktywnego nimi handlowania, to powinniśmy wypłacić je do naszego prywatnego portfela. Waluty tradycyjne powinniśmy przechowywać raczej na naszych tradycyjnych kontach w tradycyjnych bankach.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Inną niż giełdy zasadę funkcjonowania mają kantory kryptowalut. Podstawowe różnice między giełdą a kantorem są dwie. Po pierwsze, kantor nie daje nam możliwości określania własnego kursu wymiany w oczekiwaniu na przeciwstawną ofertę, nie daje nam też możliwości podglądania tabel zleceń. Kantor po prostu proponuje nam swój kurs wymiany i albo go akceptujemy albo nie. Przeważnie kantory kryptowalut funkcjonują jako bramki pośredniczące w handlu na giełdach, ale to jest już ich szczegół implementacyjny, który z punktu widzenia użytkownika nie ma większego znaczenia. Po drugie, kantor nie prowadzi dla nas konta i często nie wymaga też rejestracji. Kantor po prostu wymienia jednostki jednej waluty na drugą, przelewając kupione środki bezpośrednio na nasze konto - na konto bankowe w przypadku sprzedaży kryptowalut za waluty tradycyjne lub do naszego (wskazanego przez nas) portfela kryptowalut (a tak naprawdę na wskazany przez nas adres), w przypadku zakupu lub wymiany kryptowalut. Przetestowane przeze mnie kantory to <a href="https://inpay.pl/" target="_blank">inpay.pl</a>, <a href="https://cryptoins.com/" target="_blank">cryptoins.com</a> oraz <a href="https://changelly.com/" target="_blank">changelly.com</a>. Dwu pierwszych możemy użyć do kupna i sprzedaży kryptowalut za Złotówki, zaś tego ostatniego do wymiany kryptowalut.</div>
Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com4tag:blogger.com,1999:blog-6093194341069655033.post-42726798256676259452017-08-03T17:06:00.003+02:002017-08-04T11:35:49.670+02:00Co to jest Bitcoin<div style="text-align: justify;">
Świat się zmienia, co jakiś czas dość drastycznie, coraz częściej. Kolejna rewolucja na dobre puka do naszych drzwi. Tą rewolucją są zmiany które jeszcze trudno precyzyjnie opisać a których emanacją jest między innymi Uber oraz Bitcoin i zapoczątkowany wraz z nim cały nowy świat. Świat kryptowalut, w tym technologii Blockchain. Ale to dużo więcej niż sama technologia. To całkiem nowy sposób myślenia. Żeby dać sobie szansę na zrozumienie, trzeba to coś wpierw dobrze poznać. Najwyższy czas!</div>
<br />
<div style="text-align: justify;">
Większość z potencjalnych czytelników niniejszego bloga zapewne słyszało o Bitcoinie i technologii Blockchain. Ale kto przyjrzał się im bliżej? Polecam spróbować. Żeby coś poznać trzeba zacząć tego używać. Jak zacząć?</div>
<br />
<div style="text-align: justify;">
Zacznijmy od wyjaśnienia sobie pewnych podstawowych pojęć, posługując się oczywiście pewnymi koniecznymi uproszczeniami. No więc co to jest Bitcoin? Otóż Bitcoin jest walutą, podobnie jak walutą jest Złoty Polski lub Dolar Amerykański. Waluta jest po prostu środkiem rozliczeniowym, płatniczym; narzędziem mającym za zadanie ułatwienie wymiany handlowej. Ktoś mógłby zgłosić swoje obiekcje co do realnej wartości Bitcoina i miałby rację. Bitcoin sam w sobie nie ma żadnej wartości, ale zauważmy, że podobnie jak Bitcoin żadnej realnej wartości nie mają też inne, popularne waluty. Wartość obecnie używanych walut opiera się na naszym zaufaniu. Polega to na tym, że jesteśmy skłonni świadczyć pracę czy oddawać nasze dobra materialne w zamian za pewną ilość danej waluty tylko dlatego, że wierzymy, że za jakiś czas będziemy mogli za tę walutę otrzymać podobną ilość pracy czy dóbr od kogoś innego. Zatem Bitcoin jest walutą a za sprawą tego w jaki sposób jest skonstruowany od strony technicznej nazywany jest kryptowalutą. Kryptowalutą, ponieważ jest walutą opartą na kryptografii.</div>
<br />
<div style="text-align: justify;">
Czy zatem słowa kryptowaluta oraz Bitcoin można używać zamiennie? Nie. Bitcoin jest kryptowalutą, natomiast są też inne kryptowaluty. Podobnie jak Złoty Polski jest walutą - nazwijmy to tradycyjną -, ale istnieją też oczywiście inne waluty tradycyjne. Inne popularne kryptowaluty to: Ethereum, Ripple, Litecoin, Dash czy Monero, ale jest ich znacznie więcej. Obszerną listę wraz z podstawowymi informacjami o każdej z kryptowalut znajdziemy w serwisach <a href="https://coinmarketcap.com/" target="_blank">coinmarketcap.com</a>, <a href="https://www.worldcoinindex.com/" target="_blank">worldcoinindex.com</a> oraz <a href="https://www.cryptocoincharts.info/coins/info" target="_blank">cryptocoincharts.info</a>.</div>
<br />
<div style="text-align: justify;">
Wejść w posiadanie kryptowalut możemy na kilka sposobów. Możemy pewną ilość po prostu od kogoś dostać - tak by było najlepiej :) -, możemy kryptowaluty kupić za inne waluty, np. za waluty tradycyjne - zupełnie analogicznie jak kupowalibyśmy Dolary Amerykańskie czy Euro za Złote Polskie, np. w kantorze. Możemy kryptowaluty otrzymać jako płatność za dostarczone towary lub usługi, możemy wreszcie kryptowaluty pozyskać w drodze tak zwanego "kopania" (ang. mining). O tzw. "kopaniu" kryptowalut będzie innym razem. Na początek najłatwiej będzie kryptowaluty po prostu kupić.</div>
<br />
<div style="text-align: justify;">
Zanim jednak dojdziemy do tego w jaki sposób i gdzie konkretnie kryptowaluty można kupić, wyjaśnijmy sobie podstawową, choć na pierwszy rzut oka wyglądającą na absurdalną kwestię - w jaki sposób można kryptowalutę mieć? Odpowiedź na to pytanie jest za razem fundamentalna jak i dosyć skomplikowana. Zacznijmy od stwierdzenia, że kryptowaluty ma się zupełnie inaczej niż tradycyjne waluty. Tradycyjną walutę można mieć zasadniczo na dwa sposoby - albo w formie gotówki, w formie banknotów i monet w naszej kieszeni, szufladzie czy sejfie, albo w formie elektronicznej, na rachunku w banku, SKOKu czy innej instytucji finansowej. Kryptowaluty mają zupełnie inną naturę. Tutaj właśnie pojawia się pierwsza istotna trudność poznawcza... otóż kryptowaluty tak na prawdę się nie ma. Kryptowaluty nie ma się w sensie takim, w jakim ma się waluty tradycyjne. O kryptowalutach powinno się raczej myśleć w ten sposób, że kryptowaluty po prostu są, zaś to, że pewna część tych kryptowalut które po prostu są, należy do nas, wynika z tego, że w naszym władaniu jest klucz pozwalający nam tymi kryptowalutami dysponować. To prowadzi nas do konkluzji, że jednostki kryptowalut nie tyle mamy, co kontrolujemy. Jednostki kryptowalut posiadamy w ten sposób, że mamy klucz pozwalający nam na pełną kontrolę i wyłączne dysponowanie nimi. Ten klucz jest kluczem kryptograficznym i ma postać ciągu bitów. Nie jest to klucz mający jakąkolwiek fizyczną postać. Jeśli wydaje się wam, że jest to zbędne komplikowanie tematu to macie racje - wydaje się wam. Istnieją już co prawda narzędzia (tj. aplikacje) umożliwiające posługiwanie się kryptowalutami zupełnie ich nie rozumiejąc, ale... jesteśmy na blogu technicznym. Naszym celem jest zrozumieć kryptowaluty.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Wiemy już zatem, że kryptowaluty nie tyle mamy, co kontrolujemy. To co natomiast mamy a co umożliwia nam kontrolę nad kryptowalutami to klucze kryptograficzne. Zatem w przypadku kryptowalut przechowujemy w bezpiecznym miejscu nie tyle jednostki waluty, co klucze kryptograficzne. To utrata tych kluczy będzie dla nas równoważna z utratą środków. Jednostek kryptowaluty nie można utracić, można natomiast utracić nad nimi kontrolę, co patrząc przez pryzmat stanu posiadania nie robi istotnej różnicy, natomiast robi ogromną różnicę jeśli chodzi o sposób posługiwania się kryptowalutami oraz sposób zapobiegania utracie środków i ich wydatkowania. I to prowadzi nas do kolejnego, kluczowego elementu układanki... do tak zwanych portfeli.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Portfel w świecie kryptowalut to coś, co umożliwia nam przechowywanie kluczy kryptograficznych. Analogia nazewnicza do tego co znamy jest mocno nieszczęśliwa, albowiem jesteśmy przyzwyczajeni że portfel służy do przechowywania jednostek waluty, tymczasem w przypadku kryptowalut tak nie jest. Napiszę jeszcze raz, bo jest to bardzo ważne - portfel dla kryptowalut nie przechowuje jednostek waluty a jedynie klucze kryptograficzne umożliwiające nam kontrolę nad naszymi jednostkami kryptowalut. Ma to co najmniej 2 poważne konsekwencje. Po pierwsze, portfel kryptowalut możemy sobie dowolnie kopiować, klonować, powielać i nie prowadzi to do zwiększenia (ani zmniejszenia) naszego stanu posiadania. Po drugie, utrata jednej kopii portfela nie prowadzi automatycznie do utraty środków, jeśli tylko nie utracimy wszystkich kopii. To trochę tak jakbyśmy mieli skrzynię pełną złota zamkniętą na kłódkę. Możemy sobie dorobić dowolną ilość kluczy do tej kłódki i każdy z nich będzie równie dobry. Z drugiej strony, jak jeden z tych kluczy zgubimy, to oczywiście ryzykujemy że ktoś inny go znajdzie i nas okradnie, ale tak długo jak długo mamy jeszcze inne kopie tego samego klucza, tak długo możemy się dostać do naszego złota. I o ile zgubiony przez nas klucz nie zostanie znaleziony, to sam fakt zagubienia go również nie wpływa na nas negatywnie.<br />
<br />
Zanim przejdziemy do czynów należy wyjaśnić jeszcze 2 kwestie. Po pierwsze, skoro kryptowaluty po prostu są i nie są one przechowywane w naszym portfelu, to w takim razie gdzie są? Oczywiście gdzieś być muszą. A są w tak zwanym Blockchainie. Nie wchodząc póki co w szczegóły... myślmy o Blockchainie jak o wielkiej, zdecentralizowanej i redundantnej bazie danych. To właśnie w tej bazie danych faktycznie są przechowywane jednostki kryptowalut. A w naszym portfelu są jedynie klucze do tej wielkiej bazy danych. Operacje na kryptowalutach to operacje na tej bazie danych, jeśli zatem chcemy kupić kryptowaluty, np. Bitcoina, za waluty tradycyjne, np. za Złotego, to musimy z jednej strony przekazać komuś trochę Złotych Polskich a z drugiej strony ten ktoś musi przekazać nam nieco swoich Bitcoinów. Jak przekazać tradycyjne pieniądze to wiemy doskonale - robimy zwykły przelew w taki czy inny sposób. A w jaki sposób przekazywane są Bitcoiny? W dużym uproszeniu - są to pewne przeksięgowania mające postać operacji kryptograficznych, wykonywane w Blockchainie. Wracając do naszej analogii ze skrzynią pełną złota - to tak jakby złoto z czyjejś skrzyni zostało przełożone do naszej. Ta operacja wymaga 3 rzeczy. Oczywiście wymaga tego, aby dotychczasowy właściciel Bitcoinów wyraził na nią zgodę, poprzez (w przenośni) otwarcie swojej skrzyni ze złotem w celu wyjęcia złota. Po drugie, wymaga abyśmy my wskazali swoją skrzynię, do której złoto ma być włożone i po trzecie wymaga tego, aby ktoś to złoto przełożył z jednej skrzyni do drugiej. Oczywiście wszystko to realizowane jest automatycznie przez dedykowane systemy informatyczne, przy użyciu protokołów opartych na silnej kryptografii. Ale to nie miejsce i czas na wchodzenie w szczegóły.<br />
<br />
Ostatnia kwestia wymagające pilnego wyjaśnienia jest taka, że kryptowaluty, w tym Bitcoin, są bardzo mocno podzielne. Złoty Polski jak i większość popularnych walut tradycyjnych dzieli się na 100 części. Bitcoin natomiast dzieli się na 100 milionów części (8 cyfr po przecinku), zatem fakt że 1 Bitcoin kosztuje obecnie około 10 tyś zł nie stanowi żadnego problemu. Możemy kupić np. 5 tysiącznych część Bitcoina za około 50 zł. Do celów edukacyjnych wystarczy.<br />
<br />
Ten wstęp powinien wystarczyć aż nadto abyśmy mogli bezpiecznie rozpocząć praktyczne obcowanie z Bitcoinem. Wiemy zatem że Bitcoina możemy kupić za Złote Polskie i że będziemy potrzebowali jakiegoś portfela żeby przechowywać klucze kryptograficzne za pomocą których będziemy tego Bitcoina kontrolowali. Z wielu względów - o których kiedy indziej - polecam zacząć od tzw. Paper Wallet, czyli od portfela papierowego. W celu wygenerowania takowego polecam serwis <a href="https://www.bitaddress.org/" target="_blank">bitaddress.org</a>. Aby zakupić pierwsze Bitcoiny polecam natomiast <a href="https://inpay.pl/" target="_blank">inpay.pl</a>. Oczywiście świat szybko się zmienia, zwłaszcza w świecie kryptowalut. Być może za jakiś czas polecane przeze mnie serwisy nie będą już godne polecenia, zatem wszystkie operacje finansowe proszę wykonywać ostrożnie i na własne ryzyko. Zaznaczam jednocześnie, że nie namawiam do inwestycji w kryptowaluty. Moje nimi zainteresowanie ogranicza się do kwestii technologicznych i tylko w takim kontekście o nich piszę.</div>
<br />Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com3tag:blogger.com,1999:blog-6093194341069655033.post-68570209526496507312015-01-16T12:29:00.003+01:002015-01-16T12:38:10.278+01:00Książka OCPJP6 teraz GRATISNiniejszym "uwalniam" moją książkę "Przygotowanie do certyfikacji OCPJP6". Od dziś można ją pobierać bez skrępowania i bezpłatnie w formie PDF ze strony <a href="http://ocpjp.net/">OCPJP.net</a>.<br />
<br />
Czy pracuję nad nową wersją książki, tzn. OCPJP7? Aktualnie nie, ale w przyszłości (raczej bardziej niż mniej odległej) wszystko może się zdarzyć :) Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com5tag:blogger.com,1999:blog-6093194341069655033.post-38238960254146666332012-05-08T15:54:00.003+02:002012-05-08T15:58:30.190+02:00Książka "Przygotowanie do certyfikacji OCPJP 6"<div style="text-align: justify;">
Niebawem ukaże się wznowienie mojej książki, którą opublikowałem w 2009 roku pod tytułem "<a href="http://getscjp.pl/" target="_blank">Przygotowanie do certyfikacji SCJP 6</a>". Tym razem książka będzie nosiła tytuł "Przygotowanie do certyfikacji OCPJP 6". Jest to zasadniczo rzecz biorąc kolejna wersja, nieco rozbudowana względem poprzednika, tej samej książki, zaś zmiana tytułu wynika ze zmiany oficjalnej nazwy certyfikatu. Zapraszam do witryny domowej publikacji, dostępnej pod adresem <a href="http://www.ocpjp.net/" target="_blank">www.ocpjp.net</a>, za pośrednictwem której książkę tę można będzie nabyć. </div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com11tag:blogger.com,1999:blog-6093194341069655033.post-43412767512901550522012-04-26T17:18:00.004+02:002012-04-26T17:19:42.378+02:00General Interface już nie od TIBCO<div style="text-align: justify;">
Jakiś czas temu, w artykule "<a href="http://www.mariuszlipinski.pl/2009/03/tibco-general-interface-warstwa-widoku.html" target="_blank">TIBCO General Interface – Warstwa widoku dla SOA</a>", pisałem o znakomitej bibliotece JavaScript - <a href="http://developer.tibco.com/gi/" target="_blank">TIBCO General Interface</a>. Dobra wiadomość jest taka, że powstał klon biblioteki, już bez TIBCO w nazwie. Nazywa się to po prostu <a href="http://www.generalinterface.org/" target="_blank">General Interface</a> i jest projektem typu open-source. Polecam uwadze.</div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com3tag:blogger.com,1999:blog-6093194341069655033.post-29626697255360121472012-04-16T15:37:00.001+02:002012-04-16T15:45:09.526+02:00Dlaczego tak ważny jest czas trwania projektu<div style="text-align: justify;">Gdyby tak zapytać przeciętnego członka projektu, co jest zazwyczaj w projektach najbardziej pilnowane, to pewnie większość odpowiedziałaby, że terminy, tzn. czas, zwłaszcza czas do zakończenia całości. Może nawet bardziej niż koszty, a z pewnością bardziej niż jakość. Tego mitycznego czasu zarządzający projektami pilnują tak bardzo, że być może nawet nie zastanawialiśmy się nigdy czemu ten czas jest tak ważny. No bo skoro tak tego pilnują to przecież ważny być musi i już.</div><br />
<div style="text-align: justify;">Czas trwania projektu jest oczywiście ważny z kilku przyczyn. Po pierwsze, dla kierownika projektu czas ważny jest z pobudek czysto egoistycznych – jest to bodaj najłatwiejszy sposób oceny skuteczności tegoż kierownika. Łatwo jest zadać pytanie czy projekt był oddany na czas, dużo trudniej rozstrzygnąć czy jakość jest zadowalająca. Często też trudny do policzenia jest rzeczywisty koszt. Jeśli kierownicy projektów rozliczani są głównie z tego, czy oddali poszczególne produkty projektu na czas, to nic dziwnego, że czas staje się szybko najważniejszym czynnikiem.</div><br />
<div style="text-align: justify;">Oczywiście bywa też tak, że czas jest ściśle powiązany z kosztami. Jeśli projekt realizowany jest przez wynajętą firmę, to naturalnie kierownictwo tej firmy będzie dążyło do tego, żeby projekt skończył się jak najszybciej, bowiem wynagradzani są oni za dostarczane produkty, podczas gdy płacą (swoim pracownikom) za czas. Jeśli sami mają płacone za czas swoich pracowników, których tylko wypożyczają, to nadal czas jest dla nich kluczowy, tyle że tym razem zależy im na tym aby ci pracownicy zatrudnieni byli jak najdłużej, a wiadomo, że zatrudnieni będą co najwyżej do momentu zakończenia prac. Grają więc wtedy, o ile tylko mogą, raczej na wydłużenie czasu trwania projektu.</div><br />
<div style="text-align: justify;">Powyższe czynniki nie są jednak źródłem autentycznego znaczenia czasu. Mówiąc to mam na myśli fakt, że są to znaczenia raczej nadane przez taką a nie inną organizację pracy czy konstrukcję umów. Jednak czas trwania projektu ma także autentyczne, niezależne od niczyich pomysłów czy bezpośrednich działań znaczenie. I to ogromne znaczenie.</div><br />
<div style="text-align: justify;">Zastanówmy się na początek, z jakich etapów składa się projekt. Słowa projekt używam tu w znaczeniu potocznym i możliwie szerokim, tzn. mam na myśli projekt jako dążenie do uzyskania jakiegoś zamierzonego celu, od samego początku, od powstania idei, aż do samego końca, tzn. aż do końca istnienia skutków realizacji tych dążeń. Zgodnie z tą szeroką definicją możemy projekt podzielić na 4 etapy: etap przed-inwestycyjny, etap realizacji, etap eksploatacji i w końcu etap likwidacji. Samo ujęcie projektu w ten sposób, tak naturalny dla dyrektorów finansowych, może już być dla nas, specjalistów IT, szalenie odświeżające. Oto bowiem uświadamiamy sobie, że to co często nazywamy projektem, to tylko faza realizacji, czyli raptem pewna, często mała część projektu pojmowanego całościowo. Oto uświadamiamy sobie, że oprócz fazy poprzedzającej wykonanie pracy, jest także faza eksploatacji produktów projektu, która często łączy się z kosztami dużo wyższymi niż samo wytworzenie, ale nade wszystko, uświadamiamy sobie, że jest jeszcze coś takiego jak faza likwidacji. Tak, samo wycofanie produktów projektu z użytkowania też trwa i kosztuje, często bardzo dużo. Ale to osobny temat. Powróćmy do dyskusji o znaczeniu czasu.</div><br />
<div style="text-align: justify;">W zdrowej organizacji projekty prowadzimy nie dla tego, że ktoś ma taką fantazję, tylko dla tego, że ktoś spodziewa się w wyniku realizacji tych projektów uzyskać określone korzyści ekonomiczne. Zanim więc przejdziemy od pomysłu do realizacji, musimy zastanowić się dobrze, jakie korzyści możemy realizując dany projekt uzyskać i z jakimi kosztami będzie się to wiązać. Weźmy dla przykładu ostatni głośny projekt sieci telekomunikacyjnej Play, mianowicie wdrożenie oferty na abonament w stałej cenie, bez limitu rozmów. Ktoś z całą pewnością musiał zastanawiać się nad tym ilu klientów zyska a ilu straci, musiał policzyć koszty wprowadzenia oferty i jej przyszłe skutki finansowe i dopiero na tej podstawie podjął decyzję o wdrożeniu. Zatem decyzja została podjęta jakiś czas temu. Przygotowanie wszystkiego co jest do jej zaoferowania klientowi końcowemu niezbędne, to etap realizacji projektu. Teraz jesteśmy w fazie eksploatacji, liczenia kosztów i zysków. Być może kiedyś Play zdecyduje się z oferty wycofać i wtedy wejdziemy w fazę likwidacji. Wiemy że mniej więcej równocześnie, praktycznie identyczną ofertę udostępniła inna sieć a kolejna zapowiedziała swoją adekwatną reakcję, toteż być może okaże się, że Play nie uzyska tych wszystkich pozytywnych efektów których się spodziewał. Zastanówmy się teraz, co by było, gdyby Play wystartował z taką ofertą rok temu, kiedy to konkurencja być może nie była jeszcze absolutnie gotowa na szybką odpowiedź? Co by było, gdyby odpowiedź konkurencji nadeszła dopiero po roku? Z pewnością Play zyskał by wielu nowych klientów. Nie jest dla nas ważne jak to było w tym konkretnym przypadku, ale załóżmy że Play podjął decyzję o realizacji już dawno temu, zaś samo przygotowanie zaplecza technicznego, tj. realizacja projektu niemiłosiernie wydłużała się w czasie. Oznaczało by to, że ogromna szansa na zostanie liderem rynku została zaprzepaszczona z powodu zbyt powolnej realizacji projektu! I to jest właśnie to autentyczne znaczenie czasu trwania projektu, a ściślej rzecz biorąc jego fazy realizacyjnej. Jeśli realizacja świetnego pomysłu będzie trwała długo, to może okazać się, że z samego tego powodu utracimy gro słusznie oczekiwanych korzyści ekonomicznych. Żyjemy w czasach gospodarki ściśle konkurencyjnej, gdzie szybkie wprowadzanie usprawnień, zmian czy nowych ofert jest często grą o być albo nie być. Znaczenie czasu realizacji projektów jest w tych warunkach szalenie ważne!</div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com3tag:blogger.com,1999:blog-6093194341069655033.post-10971960206624581722012-04-15T18:34:00.002+02:002012-04-15T18:53:32.428+02:00Organizacja to głównie kooperacja i informacja<div style="text-align: justify;">Z kolejnego zjazdu <a href="http://www.mariuszlipinski.pl/2012/04/zapisaem-sie-w-tym-roku-na-prowadzone.html" target="_blank">studiów podyplomowych, które niedawno rozpocząłem</a> wróciłem z dosyć pokaźną listą złotych myśli, które zanotowałem sobie z zamiarem utrwalenia w pamięci i przekazania dalej. Spora część z nich sprowadza się do jednego - ludzie muszą rozumieć sens swojej pracy i muszą znać uzasadnienie dla podejmowanych decyzji, zwłaszcza tych trudnych. Wszyscy ludzie, nie tylko kadra zarządzająca!<br />
<br />
Firma to pewna organizacja. Czynniki warunkujące sprawne funkcjonowanie organizacji to: struktura władzy, jakość kooperacji, przepływ informacji i polityka. Na niedostatki władzy i polityki w polskich organizacjach raczej narzekać nie można, za to wiele do życzenia pozostawia jakość kooperacji i przepływ informacji. Poniżej przytaczam kilka sytuacji, które dostatecznie naświetlają sedno tych niedostatków. </div><br />
<div style="text-align: justify;">Wyobraźmy sobie, że pewnego dnia przychodzi na spotkanie pewnego zespołu projektowego jakiś ważny jegomość, niech to będzie dyrektor finansowy, i oznajmia, że możemy wracać do biurek, do innych zadań, bo ten projekt został anulowany. Co czujemy? Zapewne zaskoczenie i pewnie jeszcze nie małe zdenerwowanie i zniechęcenie. Jeśli jeszcze na odchodne dorzuci coś w stylu: "nikt wam nie powiedział? przecież to wiadomo już od dwu miesięcy", to mamy dobre samopoczucie załatwione co najmniej na następny tydzień. I wyobraźmy sobie jeszcze, że tuż po takim zdarzeniu przychodzi do nas inny kierownik innego projektu i prosi o zwiększenie zaangażowania, bo projekt jest ważny a terminy gonią. Z pewnością pomyślimy sobie: "no tak, ten co przez ostatnie dwa miesiące robiłem z dużym zaangażowaniem też był ważny". No i jak to wpływa na naszą wydajność i sukces firmy w której pracujemy? A może projekt został anulowany z jakichś ważnych, obiektywnych przyczyn? Z pewnością wszyscy by to zrozumieli i przeszli by nad tym do porządku dziennego, gdyby tylko dano im ku temu szansę, tj. gdyby oprócz decyzji zakomunikowano im także w sposób wyczerpujący te obiektywne przyczyny. Oczywiście sama forma komunikacji też ma znaczenie. Wszyscy potrzebują mieć poczucie poszanowania ich pracy.</div><br />
<div style="text-align: justify;">Albo wyobraźmy sobie inną sytuację - zleca się komuś przygotowanie raportu analitycznego, na podstawie którego ma być podjęta jakaś ważna decyzja. Przygotowanie raportu jest pracochłonne i wymaga zaangażowania kilku dodatkowych osób. Z raportu tego wynika, że racjonalnie będzie podjąć decyzję A lub B, podczas gdy opcje C i D winny być z góry odrzucone. Odbiorca raportu, po jego pobieżnym przekartkowaniu, podejmuje tymczasem decyzję D z chłodno wygłoszonym komentarzem treści: "tak właśnie będzie". Jak to wpływa na nasz zapał do pracy nad kolejnymi zleceniami? Jak to wpływa na morale wszystkich tych, którzy zainwestowali sporo czasu i pracy aby pomóc nam w przygotowaniu tego raportu? Co ciekawe historyjka ta ukazuje więcej niż jeden problem. Problemem który rzuca się w oczy jest to, że nie podano żadnego uzasadnienia dla z pozoru błędnej decyzji, przez co nie tylko powstaje wśród pracowników przeświadczenie o głupocie zarządzających, ale także o bezcelowości własnej pracy - no bo przecież jej wyniki i tak nie są brane pod uwagę. No bo przecież nie tylko podjęto decyzję sprzeczną z rekomendacją, ale rekomendacji tej nawet dokładnie nie przeczytano! A może zlecający przygotowanie raportu miał na myśli zupełnie inny raport, biorący pod uwagę zupełnie inne czynniki i tylko "zapomniał" powiedzieć co ten raport powinien zawierać? Może pobieżne przekartkowanie wystarczyło aby przekonać się, że autor raportu nie jest jasnowidzem? Może za wyborem wariantu D przemawiały pobudki zupełnie nie znane autorowi raportu?</div><br />
<div style="text-align: justify;">Uświadommy sobie jeszcze, jak ważna jest sama umiejętność odpowiedniego postawienia zadania. Przykładowo, zupełnie inną perspektywę będzie miała osoba, której każe się cyklicznie wypełniać jakiś formularz, którego przeznaczenia zupełnie nie zna i celu nie widzi, a zupełnie inną osoba, która wie, że dane które w ten sposób są zbierane są niezbędne dla realizacji jakiegoś wartościowego przedsięwzięcia. Osoba, która traktuje czynność którą wykonuje jako zbędną i bezcelową z pewnością będzie tę czynność wykonywała dużo gorzej niż osoba, która rozumie cel i ma świadomość budowania czegoś wartościowego. Jeśli więc oczekujemy od innych, że będą wykonywali pewne zadania, to poinformujmy ich o celu. Ludzie muszą wiedzieć że ich wysiłek ma sens.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Najciekawsze w tym wszystkim wydaje się to, że opisane przeze mnie powyżej problemy zdają się być dobrze znane i oczywiste. Tylko, jeśli są, to dlaczego tak często tego typu problemy cały czas w organizacjach w których pracujemy występują?</div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com6tag:blogger.com,1999:blog-6093194341069655033.post-40505565635244120172012-04-05T13:58:00.003+02:002012-04-05T14:01:24.647+02:00Wartość księgowa<div style="text-align: justify;">Zrozumienie pojęcia wartości księgowej nie jest celem samym w sobie, choć nawet samo w sobie może być pożyteczne. Celem nadrzędnym jest zrozumienie czym jest realna wartość firmy, z czego wynika i co się na nią składa, oraz jak dążenie do budowania wartości wpływa na naszą codzienną pracę, którą wykonujemy bądź powinniśmy wykonywać w IT. Wartość księgowa jest tylko jednym z elementów tej układanki, tym elementem, od którego zaczniemy.</div><br />
<div style="text-align: justify;">Wartość księgowa to, mówiąc prostym językiem, wartość jaka wynika z ksiąg – ksiąg które prowadzą księgowe i księgowi. Mówiąc precyzyjniej, wartość księgowa przedsiębiorstwa (WK) to wartość aktywów (A) pomniejszona o wartość kapitału obcego, czyli długi (D). Chcąc zapisać to wzorem otrzymamy zależność WK = A – D.</div><br />
<div style="text-align: justify;">Aktywa są to zasoby majątkowe przedsiębiorstwa o wiarygodnie określonej wartości, których posiadanie ma być w przyszłości źródłem uzyskania korzyści ekonomicznych. Mówiąc prościej, aktywa jest to majątek firmy. Do aktywów zaliczamy budynki i maszyny, towary które firma posiada w magazynach i pieniądze na rachunkach bankowych, ale także wartości niematerialne i prawne takie jak koncesje, patenty i marki. Oczywiście wszystko to musi być wycenione w jednostkach pieniężnych.</div><br />
<div style="text-align: justify;">Kapitał obcy, czyli długi, to wszelkie zobowiązania firmy które podlegają spłacie, tzn. pieniądze które kiedyś będą musiały wypłynąć z firmy. Zauważmy, że jeśli firma nie ma żadnych zobowiązań finansowych, to wartość księgowa tej firmy równa się wartości jej aktywów, a więc sumarycznej wartości poszczególnych składników jej majątku.</div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com0tag:blogger.com,1999:blog-6093194341069655033.post-43396483465869723142012-04-03T16:51:00.001+02:002012-04-03T16:56:11.347+02:00Co o rachunkowości powinni wiedzieć wszyscy<div style="text-align: justify;">Nie bój się czytelniku. Nie mam zamiaru prowadzić tutaj wykładu z rachunkowości. Zdaję sobie sprawę z tego, że dla większości ludzi – w tym dla mnie – słowo rachunkowość mogło by być synonimem dla słowa nuda. Szczęśliwie, my specjaliści IT, nie musimy o rachunkowości wiedzieć zbyt wiele.</div><br />
<div style="text-align: justify;">W zasadzie to póki co wystarczy nam wiedzieć, że wyróżniamy dwa rodzaje rachunkowości: rachunkowość finansową i rachunkowość zarządczą. Rachunkowość finansowa to działanie które ma na celu przygotowanie informacji dotyczących finansów firmy wymaganych przepisami prawa. Jest ona pewnego rodzaju sprawozdaniem finansowym z zaistniałych faktów i zawsze dotyczy przeszłości. Rachunkowość zarządcza z kolei jest prowadzona w całości na użytek wewnętrzny i nie podlega żadnym regulacjom ani ograniczeniom a jej celem jest dostarczenie informacji niezbędnej do sprawnego zarządzania firmą. Rachunkowość zarządcza może zarówno interpretować przeszłe i teraźniejsze jak i projektować przyszłe zdarzenia finansowe.</div><br />
<div style="text-align: justify;">Rachunkowość finansową prowadzimy głównie po to, by wiedzieć jak dużo podatków musimy zapłacić. Podatki płacimy od dochodu, stąd naturalne dążenie do tego, by wykazywany dochód był jak najmniejszy. Zauważmy, że chodzi o dochód wykazywany a nie rzeczywisty! Zasady rachunkowości finansowej są co prawda szczegółowo określone przepisami prawa, jednak istnieje w ramach tego prawa wiele możliwości odpowiedniego kształtowania wykazywanego dochodu.</div><br />
<div style="text-align: justify;">W przypadku spółek giełdowych istnieje także obowiązek publikowania sprawozdań finansowych dla inwestorów. Sprawozdania te są produktem rachunkowości finansowej i naturalnie zawierają dane dotyczące dochodu. Oczywiście wysoki dochód w takim sprawozdaniu wygląda dobrze, jednak profesjonalny inwestor wie, że papierowy (oficjalny) dochód nie koniecznie odzwierciedla możliwości firmy, tzn. rozumie że jest on przeważnie sztucznie pomniejszany, aby zaoszczędzić co nieco na podatku dochodowym, toteż dyrektorzy finansowi mimo wszystko skupiają się raczej na minimalizowaniu tegoż dochodu.</div><br />
<div style="text-align: justify;">Póki co nie musimy na ten temat wiedzieć wiele ponad to co napisałem powyżej. Wystarczy abyśmy rozumieli, że sprawozdania finansowe i inne oficjalne dokumenty to jedno, a rzeczywistość to drugie. Podczas gdy w rzeczywistości najczęściej dążymy do maksymalizacji zysku, w papierach chcieli byśmy tego zysku wykazywać jak najmniej. I to wszystko do pewnego stopnia da się legalnie robić. Musimy zrozumieć, że wiele z pozoru dziwnych działań ma swoje motywacje księgowe, tzn. pewne działania które mają miejsce w naszych firmach, a które dla osoby niezorientowanej mogły by się wydawać irracjonalne, są w istocie jak najbardziej słuszne, tyle że powody są powiedzmy sobie… pozamerytoryczne. Aczkolwiek z drugiej strony patrząc… czyż to nie finanse są właśnie meritum działalności każdej firmy?</div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com8tag:blogger.com,1999:blog-6093194341069655033.post-87221807427987397962012-04-03T15:10:00.001+02:002012-04-03T15:12:10.652+02:00Forum Architektów IT<div style="text-align: justify;">19 kwietnia 2012 r. w Bibliotece Uniwersyteckiej w Warszawie, przy ul. Dobrej 56/66, odbędzie się <a href="http://konferencje.computerworld.pl/konferencje/architekciit2012/program.html" target="_blank">II Forum Architektów IT.</a> Polecam waszej uwadze. Ja będę!</div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com2tag:blogger.com,1999:blog-6093194341069655033.post-27718104448919426482012-04-02T16:19:00.002+02:002012-04-02T16:28:08.862+02:00O biznesie dla IT<div style="text-align: justify;">Zapisałem się w tym roku na prowadzone na SGH studium podyplomowe <a href="http://www.zarzadzanieit.edu.pl/zarzadzanieit/" target="_blank">Efektywne Zarządzanie IT w Przedsiębiorstwie</a>. Właśnie zakończył się trzeci zjazd a ja jestem niezmiennie tymi studiami oczarowany. Nawet nie chodzi o to, że te konkretne studia są tak dobrze prowadzone – chociaż są – ale o to, jak bardzo otwarcie się na tego typu wiedzę wzmacnia mój profesjonalizm w podejściu do tego czym się zawodowo zajmuję. A zajmuję się oczywiście IT.</div><br />
<div style="text-align: justify;">Od dawna czułem, że brakuje mi solidnych podstaw wiedzy czysto biznesowej, ale nawet nie wiedziałem jak bardzo. Panie i Panowie, formułuję dziś tezę, że każdy specjalista IT, niezależnie od tego czy to programista, administrator, pracownik utrzymania, architekt, analityk, tester czy kierownik projektu, wszyscy pracujący w IT, bez wyjątku, powinni posiąść minimum wiedzy o biznesie. Chociażby po to, aby nie frustrować się niepotrzebnie gdy przyjdzie nam porzucić w pół drogi świetnie od strony technicznej rozwijający się projekt, czy po to aby nie denerwować się, gdy przyjdzie nam sklecić do kupy jakieś rozwiązanie które w oczach programisty jest do dupy, a jest takie, bo są duże naciski na minimalizację czasu czy kosztu wytworzenia. Porzućmy przekonanie, że tego typu zdarzenia są objawem jakichś nieprawidłowości! Mogą być ale nie muszą. Porzućmy też przekonanie, że decyzje dotyczące IT powinny zapadać w IT. My, ludzie IT często irytujemy się, gdy przyjdzie nam wdrażać rozwiązanie IT kupione przez ludzi biznesu, które to rozwiązanie nie do końca jest zgodne z naszymi preferencjami. Często całkiem niesłusznie. Dobrze jest rozumieć uwarunkowania biznesu i to jak one rzutują na IT.</div><br />
<div style="text-align: justify;">Każdy powinien działać na rzecz ogólnie pojętego dobra firmy w której pracuje. Za to nam w końcu płacą i z tego czerpiemy satysfakcję. Tyle, że niekoniecznie wiemy i rozumiemy czym to ogólnie pojęte dobro jest. Zrozumienie szerszego kontekstu – kontekstu biznesowego – nie tylko pozwoli nam pozbyć się zbędnych w większości przypadków frustracji, ale także pomoże nam dobrze wykonywać naszą pracę. Niestety bardzo niewielu z pośród nas, specjalistów IT, rozumie na czym ta jakość polega, tzn. często nie wiemy co to znaczy dobrze wykonać naszą pracę, co jest ważne a co nie. To szkodzi naszym firmom, ale przede wszystkim szkodzi naszej satysfakcji i dobremu samopoczuciu. Coś z tym trzeba zrobić.</div><br />
<div style="text-align: justify;">Podobnie jak to czyniłem w trakcie przygotowań do <a href="http://www.mariuszlipinski.pl/search/label/SCJP" target="_blank">certyfikacji SCJP</a>, będę w trakcie tych studiów notował najważniejsze, posłyszane tam myśli i publikował je w formie wpisów na niniejszym blogu. Na użytek swój własny i wszystkich tych, którzy zdecydują się te wpisy czytać.</div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com0tag:blogger.com,1999:blog-6093194341069655033.post-49094870544798821012011-07-26T16:54:00.000+02:002011-07-26T16:54:25.111+02:00Portal naukaJavy.pl na Facebooku<div style="text-align: justify;">Stało się - portal <a href="http://naukajavy.pl/">naukaJavy.pl</a> zyskał swoją Facebookową odsłonę. Mam nadzieję, że zyska też pokaźne grono Facebookowych wielbicieli:) Jeśli się komuś treści portalu podobają, to zachęcam do wyrażenia tego poprzez deklarację sympatii, tj. poprzez klikanie osławionego 'Lubię To!'.</div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com0tag:blogger.com,1999:blog-6093194341069655033.post-24733731775026409002011-07-08T15:28:00.000+02:002011-07-08T15:28:07.768+02:00Kurs WWW<div style="text-align: justify;">W ciągu kilku ostatnich dni napisałem i opublikowałem na portalu <a href="http://naukajavy.pl/">naukaJavy.pl</a> krótki <a href="http://www.naukajavy.pl/kurs-www">kurs WWW</a> przeznaczony dla osób całkowicie początkujących.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Jeśli więc ktoś chciałby nauczyć się podstaw nie tylko języka Java, ale także podstaw implementacji WWW w Javie to zapraszam do lektury tegoż <a href="http://www.naukajavy.pl/kurs-www">kursu WWW</a>. Oczywiście polecam także <a href="http://www.naukajavy.pl/kurs-jezyka-java">kurs języka Java</a>.</div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com0tag:blogger.com,1999:blog-6093194341069655033.post-16306019621270545192011-06-17T14:52:00.001+02:002011-06-17T14:52:38.016+02:00Certyfikacje z Javy teraz przez Pearson VUE (zamiast Prometric)<div style="text-align: justify;">Od 1 czerwca 2011 wszystkie egzaminy certyfikacyjne związane z Javą (i innymi technologiami zakupionymi przez Oracla wraz z SUNem) prowadzone są przez Pearson VUE (do tej pory operatorem był Prometric). Więcej informacji pod adresem <a href="http://blogs.oracle.com/certification/entry/0419">http://blogs.oracle.com/certification/entry/0419</a>.</div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com0tag:blogger.com,1999:blog-6093194341069655033.post-10657887612443082942011-02-08T14:00:00.000+01:002011-02-08T14:00:00.430+01:00SCJP to teraz Oracle Certified Professional Java Programmer<div style="text-align: justify;">Oracle kupił był SUNa, no i zapragnął pozmieniać nazwy certyfikatów, w tym certyfikatu SCJP. Pół biedy, gdyby zrobił to konsekwentnie, ale nie - konsekwentnie to oni tylko sieją zamęt i wprowadzają niepewność. Na stronie <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=41&p_exam_id=1Z0_851">opisującej szczegóły certyfikatu SCJP</a> nadal widnieje nazwa "Sun Certified Java Programmer (SCJP) SE 6", ale już na <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=140">stronie listującej wszystkie certyfikaty Javy</a> certyfikat ten nazywa się "Oracle Certified Professional Java Programmer".<br />
<br />
Wszystkich uczących się do egzaminu SCJP/OCPJP lub planujących rozpocząć naukę uspokajam, że mimo zamieszania z nazwą egzaminy są cały czas te same.</div><br />
<div style="text-align: justify;">Na zamieszaniu z nazwami nie koniec jednak. Na stronie <a href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=41&p_exam_id=1Z0_851">education.oracle.com</a> widnieje informacja jakoby egzamin na ten certyfikat kosztował PLN 984 (informacja na dzień pisania tego artykułu), natomiast jak przejdziemy do rejestracji, na stronę <a href="http://www.prometric.com/default.htm">Prometrica</a>, to okazuje się, że cena to wcale nie PLN 984, tylko USD 300. Tak! To oznacza, że egzamin jest droższy!</div><br />
<div style="text-align: justify;">Przy okazji - zmienił się sposób zapisów na egzamin. Teraz nie trzeba już kupować voucherów. Wchodzimy na stronę <a href="http://www.prometric.com/default.htm">Prometrica</a>, tam rezerwujemy miejsce i termin i tam też płacimy. To trzeba by zapisać zdaje się jako zmianę na plus.</div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com4tag:blogger.com,1999:blog-6093194341069655033.post-16250132123108376922011-01-27T12:14:00.000+01:002011-01-27T12:14:39.743+01:00Moja książka do SCJP dostępna jako eBook<div style="text-align: justify;">Zdecydowałem się udostępnić możliwość zakupu mojej książki "<a href="http://www.getscjp.pl/">Przygotowanie do certyfikacji SCJP 6</a>" w postaci elektronicznej (jako PDF). Trzeba iść z duchem czasu, oszczędzać papier i takie tam :)</div><br />
<div style="text-align: justify;">Zaledwie dwa dni temu udostępniłem możliwość zamawiania eWydania książki (na stronie <a href="http://getscjp.pl/">getSCJP.pl</a>) a już dziś miałem przyjemność wysłać pierwszy egzemplarz do - mam nadzieję szczęśliwego -, historycznego, pierwszego nabywcy. Znaczy się pomysł chwycił. Znaleźli się chętni na wersję elektroniczną.</div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com10tag:blogger.com,1999:blog-6093194341069655033.post-73731969254775073992010-12-29T12:36:00.005+01:002010-12-29T13:02:35.589+01:00Co z tą Javą (Java SE 7 i 8)<div style="text-align: justify;">Co się dzieje z Javą? Wszyscy którzy śledzą rozwój Javy, już od dłuższego czasu zadają sobie pytanie - kiedy będzie Java SE 7? Miała być dawno temu, ale po drodze dużo się działo i cały czas nie wiadomo kiedy specyfikacja ujrzy światło dzienne. No właśnie, póki co nie było nawet JSRa, w ramach którego specyfikacja miałaby być opracowywana.<br /></div><br /><div style="text-align: justify;">Aż tu nagle, równocześnie, tworzy się JSRy dla specyfikacji <a href="http://www.jcp.org/en/jsr/detail?id=336">Java SE 7</a> i - uwaga, uwaga - <a href="http://www.jcp.org/en/jsr/detail?id=337">Java SE 8</a>! Wyciągam na tej podstawie wniosek, że Java 7 nie będzie miała długiego życia. Pewnie nie długo potem pojawi się Java 8. Miejmy nadzieję, że tak będzie, bo się nam Java trochę przyblokowała w rozwoju.<br /></div><br /><div style="text-align: justify;">Przy okazji warto odnotować, że głosowanie nad standardami Java SE 7 i 8 przebiegło w nieprzyjemnej atmosferze wojny o licencje. W obydwu przypadkach mamy 3 głosy na NIE a ci którzy głosowali na TAK wyraźnie zaznaczają, że im też nie podoba się to co się dzieje. Komentarze głosujących można streścić w dwu zdaniach.<br /><br />Grupę głosującą na NIE dobrze reprezentują słowa Googla:<br /></div><br /><div style="text-align: justify; margin-left: 20px; margin-right: 20px;"><span style="font-style: italic;">"While we support the technical content of this JSR, Google is voting no because of its licensing terms."</span><br /></div><br /><div style="text-align: justify;">A grupę głosującą na TAK słowa Red Hat'a:<br /></div><br /><div style="text-align: justify; margin-left: 20px; margin-right: 20px;"><span style="font-style: italic;">"Red Hat's vote is based solely on the technical merits of the JSR. (...). However, we are extremely disappointed with the license terms and that a more open license has not been adopted by the Specification Lead."</span><br /></div><br /><div style="text-align: justify;">Mówiąc w skrócie, wszyscy zgadzają się co do tego, że merytorycznie standardy Java SE 7 i 8 zmierzają w dobrą stronę, jednak jednocześnie wszyscy dostrzegają, że coś niedobrego dzieje się jeśli chodzi o otwartość platformy.<br /></div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com3tag:blogger.com,1999:blog-6093194341069655033.post-85743161782755839872010-12-13T12:05:00.006+01:002010-12-13T12:14:55.087+01:00Nowości na portalu naukaJavy.pl<div style="text-align: justify;">Idąc za głosem użytkowników, którzy od samego początku istnienia portalu domagali się zadań i kursów multimedialnych, zapoczątkowałem ten właśnie kierunek rozwoju, wychodząc na przeciw i jednym i drugim.<br /></div><br /><div style="text-align: justify;">Pojawiło się więc pierwsze zadanie - zadanie do rozdziału "<a href="http://www.naukajavy.pl/kurs-jezyka-java/105-zbiory">Zbiory</a>"; oraz pierwszy filmik szkoleniowy - "<a href="http://www.naukajavy.pl/multimedia/103-helloworld-w-eclipse-ide">HelloWorld w Eclipse IDE</a>", a właściwie to cała sekcja "<a href="http://www.naukajavy.pl/multimedia">Multimedia</a>", która to jednakowoż póki co zawiera tylko ten jeden film.<br /></div><br /><div style="text-align: justify;">Filmik póki co jest dosyć słaby, ale szlaki przetarte i mam nadzieję z czasem zastąpić go produkcją wyższej jakości. Zadanie za to wydaje mi się być w pełni ciekawe. Jest też rozwiązanie. Zapraszam do testowania nowych materiałów.</div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com0tag:blogger.com,1999:blog-6093194341069655033.post-89468030971252292572010-11-24T13:45:00.006+01:002010-11-24T14:01:42.329+01:00Mam certyfikat z TOGAF 8<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgavyaKNFViasTqSLb_JK8KcQSuPKsgOc_4OOrVwbOKTMGk8MUc7wu_pVL0ABEnNnOgiexrSZpjtpB-eWUY8U1s-6VfAV_rw39zN30zFmWso6MPiljwZOti3EHBbzDjaegfG8aU3L9K34xl/s1600/TOGAF8.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 151px; height: 85px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgavyaKNFViasTqSLb_JK8KcQSuPKsgOc_4OOrVwbOKTMGk8MUc7wu_pVL0ABEnNnOgiexrSZpjtpB-eWUY8U1s-6VfAV_rw39zN30zFmWso6MPiljwZOti3EHBbzDjaegfG8aU3L9K34xl/s320/TOGAF8.jpg" alt="" id="BLOGGER_PHOTO_ID_5543100271671465586" border="0" /></a><br /><div style="text-align: justify;">Właśnie pobrałem z <a href="http://www.opengroup.org/togaf9/cert/cert_archlist-short.tpl">TOGAF Directory of Certified People</a> PDFa z moim certyfikatem. Od dziś jestem TOGAF 8 Certified - mały krok dla ludzkości, ale duży dla mnie!<br /></div><br /><div style="text-align: justify;">Co to jest TOGAF próbowałem pisać - jak jeszcze sam nie do końca wiedziałem, ale wyszło całkiem nieźle - w artykule "<a href="http://www.mariuszlipinski.pl/2010/06/co-to-jest-ea-na-przykadzie-metody.html">Co to jest EA na przykładzie metody TOGAF</a>". A jest to taka metodyka do planowania rozwoju firmy, z głównym naciskiem na to, w jaki sposób muszą się rozwijać systemy IT aby tenże rozwój całej firmy jak najlepiej wspierać.<br /></div><br /><div style="text-align: justify;">Certyfikat z TOGAF 8 zdobywa się w sposób niestandardowy, tj. wpierw trzeba przejść przez certyfikowane szkolenie, a potem - już w domu - trzeba napisać egzamin, tj. odpowiedzieć na dwadzieścia kilka pytań, i wysłać go do <a href="http://www.opengroup.org/">The Open Group</a> do oceny. Dwa z nich wymagają odpowiedzi w formie małego opowiadanka, a pozostałe w formie jednego czy dwu zdań. W każdym razie nie jest to test.<br /></div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com4tag:blogger.com,1999:blog-6093194341069655033.post-8975003243297669632010-11-03T14:01:00.000+01:002010-11-03T14:02:25.412+01:00Tabela oceny umiejętności<!--[if gte mso 9]><xml> <w:worddocument> <w:view>Normal</w:View> <w:zoom>0</w:Zoom> <w:hyphenationzone>21</w:HyphenationZone> <w:punctuationkerning/> <w:validateagainstschemas/> <w:saveifxmlinvalid>false</w:SaveIfXMLInvalid> <w:ignoremixedcontent>false</w:IgnoreMixedContent> <w:alwaysshowplaceholdertext>false</w:AlwaysShowPlaceholderText> <w:compatibility> <w:breakwrappedtables/> <w:snaptogridincell/> <w:wraptextwithpunct/> <w:useasianbreakrules/> <w:dontgrowautofit/> </w:Compatibility> <w:browserlevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:latentstyles deflockedstate="false" latentstylecount="156"> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:Standardowy; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]--> <p style="text-align: justify;" class="MsoNormal">Każdy z nas od czasu do czasu musi wypełnić jakąś tabelę, która to ma rzekomo opisywać nasze umiejętności. Taką tabelę samooceny zawodowej. Właśnie wypełniam jedną z nich i znów pojawia się we mnie to nieodparte poczucie, że wyrazić swoje umiejętności w postaci takiej tabeli jest niezmiernie trudno. Nie to żebym uważał że się nie da – wprost przeciwnie – tylko że jeszcze nigdy nie zdarzyło mi się widzieć takiej tabeli, która to pozwalałaby mi „pokazać prawdziwego siebie”. Ktoś z was widział? Jakieś ciekawe spostrzeżenia w temacie?</p>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com3tag:blogger.com,1999:blog-6093194341069655033.post-79114540835599460232010-10-13T16:33:00.003+02:002010-10-13T16:42:07.680+02:00Nie ma iBatisa, jest MyBatis<div style="text-align: justify;">Jakiś czas temu wydano wersję 3.0 iBatisa. Wprowadzono kilka ciekawych funkcjonalności; między innymi możliwość definiowania mapowania za pomocą adnotacji czy obsługę funkcji pobierania wygenerowanych kluczy (tj. wykorzystanie operacji JDBC getGeneratedKeys()) bez konieczności pisania (i uruchamiania) osobnych zapytań. Mnie interesuje akurat to drugie. Jeszcze nie wykonałem migracji więc nie wiem jak i czy to działa - wersja 3 nie jest w pełni wstecz kompatybilna z wersją 2 iBatisa więc nie jest to zadanie trywialne i troszkę potrwa.<br /><br />Jednocześnie (może nie całkiem jednocześnie) zrobiono mały rebranding, tzn. iBatis nazywa się teraz MyBatis i nie jest już dzieckiem fundacji Apache tylko Googla. Nowa strona domowa projektu to <a href="http://www.mybatis.org/">http://www.mybatis.org/</a>.</div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com0tag:blogger.com,1999:blog-6093194341069655033.post-73373060819683277632010-09-17T10:55:00.010+02:002010-09-17T11:15:02.502+02:00Kariera dla informatyka – od Programisty do Czekoladnika<div style="text-align: justify;">Każdy z nas zastanawia się czasem nad kierunkiem w którym zmierza – odwieczne pytanie – kim chcę być w przyszłości?<br /></div><br /><div style="text-align: justify;">Ja swoją karierę zawodową zaczynałem, razem z dwoma kolegami z uniwersyteckiej ławy, jako Konsultant IT ds. PeopleSoft CRM (IBM który nas zatrudnił wysłał nas właśnie w takim charakterze do TP S.A.). Teraz jestem Architektem SOA w AGORZE i zastanawiam się co dalej. Jeden ze wspomnianych kolegów – Tomasz Sienkiewicz – wybrał błyskotliwą karierę Czekoladnika (!).</div><br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnL_phbyYKQoNQ7mAf36xudV0ww7OFWMimVys14qNBeBkB-Ib7ijfhCAj18925UzSpZ36SF99xAUnPZbzat_tqb1Q9mG67b85rWU1auO7dk7gw8tE26zBYY1QRL0yKMBQNdvzds-l88GLm/s1600/dsc01857.JPG"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnL_phbyYKQoNQ7mAf36xudV0ww7OFWMimVys14qNBeBkB-Ib7ijfhCAj18925UzSpZ36SF99xAUnPZbzat_tqb1Q9mG67b85rWU1auO7dk7gw8tE26zBYY1QRL0yKMBQNdvzds-l88GLm/s400/dsc01857.JPG" alt="" id="BLOGGER_PHOTO_ID_5517803751288150338" border="0" /></a><br /><br /><div style="text-align: justify;">Jeszcze kilkanaście miesięcy temu Tomek był dobrze zapowiadającym się Architektem IT. Teraz, do spółki z kolegą (także informatykiem), prowadzi <a href="http://www.manufakturaczekolady.pl/">Manufakturę Czekolady</a> – maleńki zakład produkcyjny, gdzie zgodnie z tradycyjną recepturą wytwarzają najprawdziwszą i najpyszniejszą czekoladę jaką tylko ludzkość nauczyła się wytwarzać. Bez wypełniaczy w stylu masło kakaowe czy lecytyna i bez sztucznych dodatków. Wszystko robi się na miejscu, począwszy od prażenia i miażdżenia ziarna kakaowca, aż do ręcznego zawijania w złote papierki.</div><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl-HXO9qOrWLuUxhn2rn8z4zbcufYP0BsYY9P4Dbt-9s5VPBMzyscEfFpBL8mJqMtlB2iIeoBVzGGbEMPo6RoEd5SaKSwjCies-OTP8yywTS6IiOs8M4tER8Xka5Lhn_QHerQrTQsUAhXT/s1600/dsc01863.JPG"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 242px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl-HXO9qOrWLuUxhn2rn8z4zbcufYP0BsYY9P4Dbt-9s5VPBMzyscEfFpBL8mJqMtlB2iIeoBVzGGbEMPo6RoEd5SaKSwjCies-OTP8yywTS6IiOs8M4tER8Xka5Lhn_QHerQrTQsUAhXT/s400/dsc01863.JPG" alt="" id="BLOGGER_PHOTO_ID_5517804929296903906" border="0" /></a><br /><div style="text-align: justify;"><a href="http://www.manufakturaczekolady.pl/">Manufaktura Czekolady</a> ma w swojej ofercie 6 smaków. Najbardziej wyjątkowy z nich to <a href="http://sklep.manufakturaczekolady.pl/p/1/2/czekolada_deserowa_%5B70_kakao_z_ghany%5D_+_fleur_de_sel_50g-czekolady.html">Czekolada Deserowa z Kwiatem Soli Morskiej</a>. Jak smakuje? Trzeba spróbować samemu! Ja mogę pokazać jedynie jak wygląda.<br /></div><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKrZsqtAX1ne7bzG0RQPPRt1LbZFNIqa9B15uTPzapr6vfD4teMuq_Wv08Y6n3Eub0aZxYxTKKakD4gw3HotsmnJEmL8OoJX29Lg6Zg_Wb5jAOoK_lyHbYA4z0x0Zd6ja8knBEnn8n3olt/s1600/dsc01869.JPG"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 235px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKrZsqtAX1ne7bzG0RQPPRt1LbZFNIqa9B15uTPzapr6vfD4teMuq_Wv08Y6n3Eub0aZxYxTKKakD4gw3HotsmnJEmL8OoJX29Lg6Zg_Wb5jAOoK_lyHbYA4z0x0Zd6ja8knBEnn8n3olt/s400/dsc01869.JPG" alt="" id="BLOGGER_PHOTO_ID_5517804404008223666" border="0" /></a><br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicpifEDEMBcpUxo0OQ06RjQbrcdckQ8grfIVF3E0YR0HZOdRSR_zCBZPJouX3oF5WncbkxmGKAIHylxGPUl1T7FrVJAb13tPf5scZ7f5xJC5grWcYtYpyBAjfb6tGTsFeS7h-ONWuwtQcS/s1600/dsc01872.JPG"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 229px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicpifEDEMBcpUxo0OQ06RjQbrcdckQ8grfIVF3E0YR0HZOdRSR_zCBZPJouX3oF5WncbkxmGKAIHylxGPUl1T7FrVJAb13tPf5scZ7f5xJC5grWcYtYpyBAjfb6tGTsFeS7h-ONWuwtQcS/s400/dsc01872.JPG" alt="" id="BLOGGER_PHOTO_ID_5517804036047993170" border="0" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnJQH_ZLQDDjR2RVX01nATEqsuCahyphenhyphen6-0qjZy4srjjlv_nE6odqNw7rytZ2FYz6Zk-BHa4sCndN3YiJnQnzTlQhiPbEKJzS-kKebvy5NxLvAMhYBk_Zit98ZE6Ftmxrq2CWATlLeshXI9y/s1600/dsc01868.JPG"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 242px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnJQH_ZLQDDjR2RVX01nATEqsuCahyphenhyphen6-0qjZy4srjjlv_nE6odqNw7rytZ2FYz6Zk-BHa4sCndN3YiJnQnzTlQhiPbEKJzS-kKebvy5NxLvAMhYBk_Zit98ZE6Ftmxrq2CWATlLeshXI9y/s400/dsc01868.JPG" alt="" id="BLOGGER_PHOTO_ID_5517805308411930450" border="0" /></a>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com3tag:blogger.com,1999:blog-6093194341069655033.post-44771744852952009142010-09-15T11:04:00.006+02:002010-09-15T11:20:00.609+02:00Zadania cykliczne w bazie Oracle - pakiet DBMS_JOB<div style="text-align: justify;">Ilekroć pada stwierdzenie, że jakiś proces powinien być uruchamiany cyklicznie, pada też stwierdzenie, że należy napisać skrypt uruchamiany przez Unixowego demona CRON. Pewnie nie jest to podejście złe, ale jeśli jedyne co trzeba robić, to wykonywać operacje na bazie danych Oracle, to można to zrobić prościej, w ramach samego Oracla, przy użyciu pakietu DBMS_JOB.<br /></div><br /><div style="text-align: justify;">Aby zdefiniować i uruchomić cyklicznie zadanie operujące na danych w bazie danych Oracle wystarczy napisać procedurę składowaną PL/SQL i uruchomić funkcję SUBMIT(…) z pakietu DBMS_JOB, przekazując jako argumenty wywołania nazwę procedury PL/SQL, czas pierwszego uruchomienia oraz wyrażenie określające interwał.<br /></div><br /><div style="text-align: justify;">Przykładowo, jeśli chcemy aby procedura składowana o nazwie DO_CLEAN uruchamiana była co dzień o godzinie 1:00 w nocy, to wystarczy wykonać blok:<br /></div><pre><span style="font-weight: bold;">VARIABLE </span>v_jobno NUMBER;<br /><span style="font-weight: bold;">BEGIN</span><br /> dbms_job.submit(:v_jobno,'<span style="color: rgb(0, 0, 153);">DO_CLEAN;</span>',trunc(sysdate)+1+1/24,'<span style="color: rgb(0, 0, 153);">trunc</span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 153);">(sysdate)+1+1/24</span>'</span>);<br /><span style="font-weight: bold;">END</span>;</pre><div style="text-align: justify;">Definicje zadań uruchomionych w powyższy sposób są umieszczane w tabeli systemowej USER_JOBS. Możemy tam wyszukać nasze zadania i zobaczyć jaki jest ich status. Dobra dokumentacja pakietu DBMS_JOB jest na stronie <a href="http://psoug.org/reference/dbms_job.html">http://psoug.org/reference/dbms_job.html</a>.<br /></div><br /><div style="text-align: justify;">Jeśliby nam chodziło o cykliczne kasowanie starych (starszych niż 5 dni) danych z tabeli LOGS to procedura DO_CLEAN mogłaby wyglądać następująco:<br /></div><pre><span style="font-weight: bold;">CREATE PROCEDURE</span> DO_CLEAN <span style="font-weight: bold;">IS</span><br /> ts_max TIMESTAMP := trunc(current_timestamp - 5);<br /><span style="font-weight: bold;">BEGIN</span><br /> DELETE FROM logs WHERE logs.ts < ts_max;<br /> <br /> COMMIT;<br /><span style="font-weight: bold;">END </span>DO_DELETE;</pre><div style="text-align: justify;">W najnowszych wersjach bazy danych Oracle powinno się zamiast pakietu DMBS_JOB używać pakietu DBMS_SCHEDULER, aczkolwiek wersja z którą ja pracuję jeszcze na tyle nowa nie jest.<br /></div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com1tag:blogger.com,1999:blog-6093194341069655033.post-23769100412573273282010-08-03T17:32:00.000+02:002010-08-03T17:33:04.222+02:00Podział na tych co robią i tych co wymagają<div style="text-align: justify;">Bardzo dobrze jest, gdy osoba która określa w jaki sposób wykonać pewną pracę i osoba która tę pracę wykonuje, to są różne osoby. Bardzo dobrze dla jakości ostatecznego produktu, niezależnie od tego co tym produktem jest.<br /></div><br /><div style="text-align: justify;">Człowiek ma tendencję do chodzenia na skróty. Nawet najambitniejsi z czasem zaczną zniżać swe loty, jeśli to oni sami będą decydowali o tym jak zrobić to co robią i jeśli nikt nie będzie kontrolował jakości ich pracy. Najłatwiejsza do pokonania ścieżka nigdy nie prowadzi na najwyższy szczyt.<br /></div><br /><div style="text-align: justify;">Przekładając powyższe na język projektów IT - Analityk, który określi jak to co powstaje ma działać, Architekt, który zadecyduje jak to coś należy zaimplementować i Programista, który to implementować będzie to powinny być różne osoby. Tester, który przetestuje finalne rozwiązanie to w żadnym razie nie może być Programista, który to rozwiązanie implementował. Ważną rolą w procesie projektowym jest także Kierownik Projektu i także ta rola nie powinna być łączona z pozostałymi.<br /></div><br /><div style="text-align: justify;">Idealnie jest, gdy każda z ról obsadzona jest przez inną osobę, ale jeśli to nie jest możliwe, to powinniśmy starać się co najmniej o to, aby nikt nie robił w dalszej fazie projektowej tego, co sobie sam w poprzedniej fazie zdefiniował. Najważniejsze jest więc, żeby nie byli tą samą osobą Analityk i Architekt, Architekt i Programista, Programista i Tester. Kierownik projektu nie powinien być w żadnym razie Architektem. Kierownikowi zależy przecież głównie na tym, żeby było szybko. Zadaniem architekta jest zadbać o to, żeby było dobrze. Te dwa cele często niestety kłócą się ze sobą. Patrząc długofalowo jest może nawet wprost przeciwnie, ale w rzeczywistości rzadko się tak niestety patrzy, a już na pewno nie patrzą tak kierownicy projektów, których głównym celem jest przecież wykonać dany projekt.<br /></div>Mariusz Lipińskihttp://www.blogger.com/profile/11337463238256141270noreply@blogger.com0