Hibernate ORM i J2EE: Znaczenie i różnica między atrybutem CASCADE i INVERSE na definicji relacji

Opublikowane dnia: 27.07.2013

Nieznajomość znaczenia atrybutów cascade oraz inverse nie uniemożliwia korzystania z Hibernate (znanego ORM dla J2EE). Sprawi jednak, że nieświadomie będziemy ofiarą mniejszej wydajności pracy naszej aplikacji z powodu zbędnych, dodatkowych zapytań do bazy danych.

Czytaj całość...

JSF2: Managed Bean scopes – Czas życia Zarządzanych Ziaren

Opublikowane dnia: 26.07.2013

JSF bardzo ułatwia tworzenie aplikacji internetowych w wygodny i szybki sposób. Aby móc w pełni wykorzystać dobrodziejstwa płynące z JSF, trzeba jednak znać czas życia Ziarna, aby uniknąć zbytniego obciążenia serwera przez niepotrzebne wywołania oraz aby uniknąć rozczarowania poprzez NULL zamiast referencji do któregoś z nieserializowanych obiektów.

Czytaj całość...

Zend Framework 2 – dependent rows and queries with JOIN statement

Opublikowane dnia: 16.05.2013

If you don’t use Doctrine ORM with your Zend Framework, then there is no automation of fetching dependent rows from a database. In Zend1 you had at least findDependentRowset method helping you manage relationships – in Zend2 all queries have to be done on your own.

Czytaj całość...

Google USB Driver – problem z instalacją: nierozpoznane urządzenie

Opublikowane dnia: 01.05.2013

Chcą skorzystać z ADT (Android Developer Tools), a w szczególności z ADB (Android Debug Bridge), konieczne jest zainstalowanie odpowiednich sterowników, których dostarcza nam Google. Mimo że działają one doskonale z większością (o ile nie ze wszystkimi) urządzeń, to nie potrafią one rozpoznać bardzo dużej ich ilości, a tym samym się zainstalować – trzeba im w tym pomóc.

Czytaj całość...

$.Deferred & Promise tutorial – zarządzanie asynchronicznymi wywołaniami w jQuery

Opublikowane dnia: 20.01.2013

jQuery oferuje bardzo dobry mechanizm do zarządzania asynchronicznymi wywołaniami (np. AJAX), który pozwala uchronić nas przed pisanie tzw. spaghetti code. API do obsługi składa się zaledwie z kilku metod, ale dzięki przemyślanej konstrukcji niesie ze sobą bardzo duże możliwości.

Czytaj całość...

CMS – udział w rynku

Opublikowane dnia: 13.01.2013

Choć każdy obeznany w branży zna markę WordPress, to rozmiar jej udziału w rynku może zaskoczyć niejednego. Poniższy wykres jasno pokazuje, że WordPress wypełnia ponad połowę całego rynku CMS. Inne świetne systemy CMS (jak Joomla, czy Drupal) posiadają tylko kilka punktów procentowych udziału w rynku. Poniższe dane pochodzą z początku minionego roku 2012.

Czytaj całość...

Wyrażenia regularne (regex) w Java: operatory zachłanne (greedy) vs. leniwe (lazy, reluctant)

Opublikowane dnia: 22.12.2012

O wyrażeniach regularnych pisać można wiele, a niewiele osób chce o tym czytać, gdyż każdy albo umie albo myśli, że umie tyle ile mu potrzeba.

Jest jednak kilka ciekawych faktów związanych z wyrażeniami regularnymi (nie koniecznie tylko w Javie), o których nie każdy wie, a powinien – taką właśnie kwestią jest podział na operatory zachłanne i leniwe.

Czytaj całość...

Nowości, zmiany i nowe funkcje w PHP 5.5 – cz.3: Support for finally in try/catch blocks

Opublikowane dnia: 01.12.2012

Najnowsza wersja języka PHP (czyli 5.5) wprowadza kilka bardzo ciekawych, nowych funkcjonalności. Są nimi:

W trzeciej części przedstawiam kolejną nową funkcjonalność – blok finally przy przechwytywaniu wyjątków.

Czytaj całość...

Nowości, zmiany i nowe funkcje w PHP 5.5 – cz.2: Support for Generators

Opublikowane dnia: 26.11.2012

Najnowsza wersja języka PHP (czyli 5.5) wprowadza kilka bardzo ciekawych, nowych funkcjonalności. Są nimi:

W drugiej części niniejszego wpisu, omówimy kolejną, nową funkcjonalność, czyli Generatory.

Czytaj całość...

Nowości, zmiany i nowe funkcje w PHP 5.5.0 – cz.1: Const array/string dereference

Opublikowane dnia: 25.11.2012

Najnowsza wersja języka PHP (czyli 5.5.0) wprowadza kilka bardzo ciekawych, nowych funkcjonalności. Są nimi:

Postaram się omówić kolejno wszystkie z powyższych zaczynając od pierwszego.

Czytaj całość...

Tęczowe Tablice (Rainbow Tables) – wstęp, algorytm, tutorial

Opublikowane dnia: 03.11.2012

Mamy poniżej kilka przykładowych haseł oraz ich hashów MD5:

MD5( „1729” ) = 25e2a30f44898b9f3e978b1786dcd85c
MD5( „2523” ) = a6d259bfbfa2062843ef543e21d7ec8e
MD5( „6259” ) = 99503bdd3c5a4c4671ada72d6fd81433
MD5( „9950” ) = 09a630e07af043e4cae879dd60db1cac
MD5( „0963” ) = d1cbdbc9cacee6c8b133c7a92a83bcca

Czytaj całość...

Port równoległy LPT w C na Linux – obsługa portu i sterowanie diodami LED

Opublikowane dnia: 08.07.2012

Port LPT bardzo dobrze nadaje się do pierwszych prób skomunikowania komputera z zewnętrzną elektroniką. Jest to możliwe dzięki temu, że w przeciwieństwie do inny portów (np. COM, USB, etc.) możemy ustawić dane wyjście w stan wysoki (lub niski) i stan ten będzie się utrzymywać.

Zacznijmy od określenia, które wyprowadzenia będą dla nas interesujące. Pomoże w tym poniższa ilustracja z Wikipedii.

lpt_pint

Czytaj całość...

Unicode, UTF-8, UTF-16, UTF-32, BOM – porównanie i cechy poszczególnych sposobów kodowania znaków

Opublikowane dnia: 27.06.2012

Unicode i UTF to ściśle powiązane ze sobą pojęcia. Dotyczą sposobów kodowania znaków pisma ludzkiego do elektronicznej formy. Mimo, że nie jest konieczna dogłębna znajomość poszczególnych sposobów kodowania, to już mylenie Unicode i UTF może być dość niepraktyczna. Ale zacznijmy od początku…

Pierwszą kwestią jest Unicode. Wbrew temu, co niektórym może się na początku wydawać, Unicode to jeszcze nie kodowanie. Jest to standard, który przypisuje wszystkim znakom pisma (i nie tylko) wartość liczbową. Unicode jest podzielony na kilka przedziałów zwanych z ang. planes. Poniżej mały fragment tablicy Unicode, w którym pokazana jest polska litera ą, która ma przypisaną wartość liczbową 0×105.

Unicode Table Fragment

Czytaj całość...

XML Schema – Tutorial cz. 1: Wprowadzenie do elementów schema, complexType i element

Opublikowane dnia: 23.06.2012

Przykładowy, prosty plik XML o nazwie ksiazka.xml definiujący książkę wraz z jej tytułem oraz dowolną liczbą autorów. Każy autor skłądający się z nazwy (imion i nazwiska) oraz z daty urodzenia.

< ?xml version="1.0" encoding="UTF-8"?>
 
<ksiazka>
    <tytul>Fajna Książka</tytul>
    <autor>
        <nazwa>Marcin Sprzedawca
        <data_urodzenia>1950-10-04</data_urodzenia>
    </nazwa></autor>
    <autor>
        <nazwa>Ryszard Klient
        <data_urodzenia>1966-08-22</data_urodzenia>
    </nazwa></autor>
</ksiazka>

Czytaj całość...

Data i czas w C# i .NET – DateTime, DateTimeOffset i TimeSpan

Opublikowane dnia: 14.06.2012

Pisząc w środowisko C# i .NET mamy do dyspozycji 3 bardzo wygodne klasy pozwalające na operowanie na datach i czasie. Klasy te oferują wiele bardzo przydatnych metod – zarówno statycznych, jak i nie-statycznych. W niniejszym tekście skupię się natomiast tylko na ogólnym zastosowaniu powyższych klas, by dać czytelnikowi wiedzę o tym, do czego służą poszczególne klasy.

Czytaj całość...

Debugowanie PHP za pomocą Xdebug w trybie CLI na przykładzie XAMPP lub WAMP oraz NetBeans

Opublikowane dnia: 28.05.2012

Nie wszyscy zdają sobie sprawę z tego, że w trybie CLI (czyli wywoływania z poziomu konsoli) można debugować skrypty PHP w równie łatwy sposób, co poprzez zwykłą przeglądarkę internetową. Wystarczy wykonać poniższe kroki, aby udało się to zrealizować bez niej.

Czytaj całość...

Odpowiednik w Java funkcji explode() z języka PHP

Opublikowane dnia: 02.05.2012

W języku PHP istnieje niezwykle przydatna funkcja explode(), która zamienia string na tablicę string’ów dzieląc go w miejscu wystąpienia określonego znaku. Zilustruje to poniższy przykład.

< ?php 
    $sString = ":aaa:111::bbb:";
    print_r( explode(":", $sString) );
?>

Czytaj całość...

Java i przekazywanie parametrów (argumentów) przez linię poleceń

Opublikowane dnia: 29.04.2012

Jeżeli chodzi o Javę, to mamy 2 sposoby przekazania argumentów do aplikacji z poziomu linii poleceń. Możemy to wykonać poprzez znane z innych języków argumenty linii poleceń oraz możemy to zrobić przez tzw. atrybuty (z ang. properties).

Najpierw przykładowe wywołanie przykładowej klasy z przekazanymi zarówno argumentami i atrybutami.

java -Dprop1=lorem -Dprop2=”lorem ipsum” PropApp dolor „sit amet”

Czytaj całość...

Zmienne środowiskowe, a Java – odczytywanie zmiennych środowiskowych

Opublikowane dnia: 09.04.2012

Kwestia odczytu zmiennych środowiskowych w Javie, nie jest tak oczywistą sprawą, jak by się mogło wydawać. Wynika to z tego, iż Java jest platformą wielo-systemową, a zmienne środowiskowe nie należą, wbrew pozorom, do standardu przestrzeganego w każdym systemie operacyjnym. Dodatkowo, dochodzi kwestia rozmiaru liter w nazwach zmiennych środowiskowych oraz nawet samego nazywania poszczególnych zmiennych środowiskowych w różnych wersjach OSów.

Czytaj całość...

org.apache.commons.lang – Instalacja i użycie Apache Commons Lang na przykładzie klasy WordUtils i NetBeans

Opublikowane dnia: 08.04.2012

Apache Commons to zbiór niezwykle przydatnych klas, które rozszerzają zbiór tych, które standardowo należą do JDK. Apache Commons składa się z wielu pakietów (package), a jednym z nich jest org.apache.commons.lang. Pakiet ten składa się z tylko jednej klas o nazwie WordUtils, która dostarcza kilku przydatnych metod do manipulowania stringami.

Czytaj całość...