Blog changes

Time goes by and both person’s ambitions and skills keep developing, so should their track. From now on LocalWire will change its language to English as it is widely used in most of IT documentations and publications. I’ve also changed the theme (developed by myself and based on Twenty Fourteen from WordPress) to meet current Internet standards and aesthetics.

Previous posts

Previous posts will be soon edited to keep the blog in one convention (and language).
I’ve already edited post images so that they will better scale to 1080p and look sharper and ‘catchier’.

New topics incoming

During my almost half a year break in blogging a lot of my skills and interests changed.
I’m still struggling to develop some serious ASP.NET knowledge, yet I find myself to be currently a solid WPF programmer.
Last semester on PJWSTK was tough, yet fruitful. MVC studied in-depth along with property change propagation based on Java Beans model and some serious understanding of several pattern conventions used in programming nowadays.
How about holidays? Two months of 2014 holidays were sacrificed to gain knowledge of WPF, XAML and MVVM. I found it quite challenging when moving from Windows Forms, but now I can hardly find myself creating GUI in anything lesser to WPF.
Also, a lot of posts about Batch and PowerShell scripts incoming for fans of automation!

Career challenges

Finally… I’ve made myself into full professional IT-guy career!
I’m still left a lot of flexibility with my current job responsibilities, so I’m excited even more as I’m already involved in a lot of interesting projects.
A lot of challenges in front of me atm, but having myself in IT environment makes me even more and more productive and eager to learn more, code more and blog more.

SQL Error L3020

Pracując ostatnio z MS SQL Server i Visio Enterprise Architect natrafiłem na błąd L3020.
Owy błąd SQL L3020 ma miejsce przy projektowaniu diagramu UML i ustawieniu dwóch kluczy obcych tabeli podrzędnej wskazujących na ten sam klucz główny w tabeli nadrzędnej.
Dokładna treść błędu to:

nazwa_diagramu.VSD : błąd L3020: XXXXX_FK1: Relacja klucza obcego obejmuje te same tabele nadrzędne i podrzędne co XXXXX_FK2, ale nie zawiera różnych fraz orzeczenia (zwykłych i odwrotnych).

Błąd ten oczywiście uniemożliwia nam wygenerowanie skryptu DLL, którego oczekujemy od Visio Enterprise Architecta. :)

Błąd SQL L3020 – istota

Głównym problemem dla samego SQLa jest odróżnienie obu relacji pomiędzy tabelą nadrzędną i podrzędną. Oczywiście nazwa fizyczna relacji jest różna. W definicji relacji w Visio wskazujemy na różne kolumny w tabeli podrzędnej. Więc o co chodzi?
A no chodzi o tzw. frazy orzeczenia (verb phrase i/lub reverse phrase). Znajdziemy je w kategorii ‘Nazwa’ w właściwościach konkretnej relacji na diagramie UML.
O ile w polskim nazewnictwie ciężko dojść o co chodzi, po angielsku jest to banalnie proste.
Standardowo jako reverse phrase (frazę odwrotną) mamy określenie ‘is of’.

Tak więc np.
FK1 stolica w tabeli Panstwa wskazuje na PK1 nazwa_miasta w tabeli Miasta.
Co za tym idzie:
PK1 encji miasta is of encji Panstwa.

By uniknąć problemów jak L3020, musimy to po prostu uściślić.

Rozwiązanie:

Co więc robimy?
Sprawiamy, że będziemy czytać relację jako:
PK1 encji miasta is stolica of encji Panstwa.

Proste prawda?
W polskiej wersji językowej, podobnie jak tutaj dodajemy nazwe kolumny w fazie odwrotnej zaraz po ‘z’, np.
z stolica
I uściślamy dla obu relacji (zamiast stolica wstawiamy nazwę kolumny tabeli podrzędnej konkretnej relacji).

Zend Framework Instalacja Windows

Jako że brakło mi pomysłu na pierwszy post, a sam blog ma mieć wiele wspólnego z szeroko pojętym IT, ów poradnik będzie do niego wstępem.
Ostatnimi czasy rozpocząłem ekstensywną naukę PHP. Po przeklepaniu podstaw przyszedł czas na frameworki, a jako że często w ofertach pracy widnieje na szczycie listy Zend Framework, to na niego właśnie się zdecydowałem.
Oczywiście od samego początku zaczęły się schody, dlatego też postaram się opisać krok po kroku co robiłem, na co się natknąłem i jak sobie z tym poradziłem w oparciu o wskazówki znajdujące się na Stack Overflow, sekcji Learn na stronie Zend.com i na licznych blogach, z których szczególnie przydatny okazał się blog Sama Mindsa (artykuł: http://samminds.com/2012/07/zend-framework-2-installation-on-xampp-for-windows).
Do rzeczy!
Zakładam,  że obecnie mamy zainstalowany XAMPP, który działa. Zakładam również, że ścieżka do XAMPP to C:\xampp\.

  1. Szkielet aplikacji czyli ZendSkeletonApplication:
  2. Zacznijmy od pobrania naszej bazy. Do wyboru mamy dwie opcje:

    Pierwsza opcja z początku wydaje się prostsza, aczkolwiek z moich prób zdążyłem zauważyć, że generuje więcej błędów (a co za tym idzie: problemów).
    Wypakowujemy zawartość paczki do folderu C:\xampp\htdocs\nazwaprojektu\. Otwieramy panel XAMPP i z przycisków po prawej stronie wybieramy Shell.
    Otworzy nam się wiersz poleceń. Nawigujemy do folderu, w którym rozpakowaliśmy SkeletonApplication używając polecenia cd:

    Po czym uruchamiamy komendy, jedna po drugiej (wklejenie obu linijek powinno spowodować automatyczne uruchomienie się pierwszej i konieczność potwierdzenia drugiej enterem):

    Tym samym doinstalujemy Zend Framework 2 do naszej aplikacji.

    Druga opcja odbywa się wyłącznie z poziomu wiersza poleceń. Polecam ją bardziej, jako że nie wypluwała żadnych błędów przy 3 różnych instalacjach.
    Po zainstalowaniu mSysGIT odpalamy program Git Bash, który powinien zainstalować się nam na komputerze. Podobnie jak powyżej nawigujemy do folderu htdocs. W konsoli wpisujemy:

    Gdzie nazwafolderu to nazwa folderu, który zostanie utworzony i do którego zostanie pobrany SkeletonApplication.
    Teraz równie podobnie jak powyżej doinstalowujemy Zend Framework. Możemy to zrobić z poziomu Git Huba, możemy zrobić to z poziomu Shella w XAMPPie. Od siebie dodam, że w XAMPP Shellu można wklejać po ‘Windowsowemu’ tj. PPM->Paste.

  3. Konfiguracja vhost w Apache:
  4. Żeby aplikacja poprawnie się wyświetlała, musimy wskazać serwerowi Apache, że adres nazwaprojektu.localhost ma wskazywać na plik index.php w folderze \nazwaprojektu\public\.
    Odszukujemy plik httpd-vhosts.conf w folderze C:\xampp\apache\conf\extra i dodajemy do niego poniższe linijki:

  5. Aktualizacja pliku hosts systemu Windows:
  6. Ostatnia rzecz jaką musimy zrobić to nakazać systemowi wskazywanie na wirtualny serwer a nie na sieć.
    Co za tym idzie, nawigujemy do folderu C:\windows\system32\drivers\etc\ (najszybsza opcja: Windows+R i wpisujemy adres). Otwieramy Notatnik jako Administrator (PPM->Uruchom jako administrator) i dopisujemy ponizsze linijki:
    127.0.0.1 www.projectname.loc projectname.loc


    Należy oczywiście pamiętać, żeby tej linijki nie poprzedał znak #, bo wtedy będzie to uznane za komentarz.
    Uwaga ta tyczy się również poprzedniego podpunktu, w którym dodawaliśmy wirtualne hosty.

  7. Gotowe!
  8. To tyle. Po wpisaniu adresu naszego projektu, powinna ukazać się nam strona główna aplikacji. Udanej przygody z Zend Framework. :)


    Zend Framework Instalacja Windows