Wiele serwisów internetowych tworzonych jest przez zespół redakcyjny. Webdeveloper wytwarza stronę internetową, żeby spełniała wszystkie standardy, żeby była jak najlepsza pod względem SEO, żeby przyciągała użytkownika itp. Administrator dba o to, aby strona działała poprawnie 24 godziny na dobę, 7 dni w tygodniu. Po wszystkich możliwych poprawkach, sugestiach i ulepszeniach witryna ukazuje się dla publiczności. Sukces! A właściwie jego pierwsza część, bo kto tak naprawdę w dzisiejszych czasach zagląda na nieaktualizowane strony?
Kolejną ważną fazą jest więc utrzymanie serwisu i dbanie o to, aby był on uaktualniany w miarę regularnie, informacjami związanymi z treścią serwisu i ciekawymi dla odwiedzających. Co jednak zrobić w momencie gdy zespół redaktorów edytujących stronę niszczy ją od wewnątrz? Jednym z możliwych rozwiązań jest podzielenie redaktorów na autorów oraz moderatorów (Joomla! – wydawca). Przy takim podziale moderacją powinny zajmować się osoby znające podstawy HTML’a, budowę oraz politykę newsową serwisu oraz znające język w którym publikuje się informacje. Rozwiązanie można by rzec idealne. Nie do końca jednak. Co w momencie gdy nasz moderator nie ma potrzebnej wiedzy, albo niechętnie ją wykorzystuje? Co w momencie, gdy nagle żaden z moderatorów nie ma czasu, aby opublikować to co napisali autorzy? W tym momencie wkracza administrator serwisu z brzydkim słownictwem na ustach.
Możnaby pokusić się o stwierdzenie, że systemy wspomagające organizację są tylko kolejnym stopniem biurokracji i wydłużają czas realizacji zadań. Z drugiej strony jednak gdy mamy do czynienia z grupą ponad 40 osób, podział pracy na 4 jednostki, krótko i długo okresowe zadania, to zrozumiałe jest wprowadzenie systemu, a nawet systemów do organizacji pracy.
Nawiązując do poprzedniego wpisu, aby zapewnić szybką i łatwą strukturę możemy podzielić nasz system na 3 kategorie:
Komunikacja
Dokumentacja
Podział pracy
W momencie wdrożenia systemu powstaje bardzo duży problem, a mianowicie zmuszenie ludzi do korzystania z niego. Najprostszym rozwiązaniem jest zmodyfikowanie do tej pory istniejących metod zarządzania tak, aby korzystały z przygotowanego przez nas systemu i nie dopuszczanie innych metod dostępu. Przez początkowy okres na pewno napotkacie głosy sprzeciwu i niechęci, ale gdy system jest przygotowany właścwie i dobrze udokumentowany to czas przejścia od momentu wdrożenia do momentu pełnego wykorzystania funkcjonalności skraca się.
Konsekwentnie trzymając sie nowy procedur wykorzystujących zaawansowaną organizację pracy można w krótkim czasie przyspieszyć działania, które do tej pory zajmowały wiele cennego czasu. Dzieje sie to dlatego, że użytkownik sam przejmuje część pracy, która do tej pory wykonywaliśmy sami. Automatycznie zbierana dokumentacja i dokumenty w formie cyfrowej, łatwej do zarchiwizowania i przekazania następnym pokoleniom. Szybka platforma komunikacji pomiędzy poszczególnymi użytkownikami oraz całymi działami. To wszystko składa się na poprawę funkcjonowania organizacji i sprawia, że praca staje się przyjemniejsza :)
Jakiś czas temu poruszałem dylemat wyboru IDE, czy też raczej narzędzia dla programisty PHP/HTML/JS. Wtedy zakończyłem na słowie “Vim”. Trwało to może ze 3 dni. Cieszę się jednak, że trwało, bo nauczyłem się dość wprawnie poruszać po Vim’ie i konsoli dzięki temu. Potrzeba większej kontroli nad kodem oraz rosnąca ilość plików zmusiła mnie to skorzystania z IDE.
Eclipse
Narzędzie bardzo wszechstronne, z wieloma wtyczkami, bez potrzeby instalacji (z doświadczeń pod windozą) i generalnie bardzo przyjemne w dotyku. System na którym pracowałem przy wersji powyżej 3.2 zaczął się dławić, więc zostałem przy tym. Po krótkim czasie okazało się jednak, że część wtyczek źle działa, lub też w ogóle, pod tą wersją i nie ma zamiaru pomagać mi przy pracy. Aby przystosować samego Eclipse do pracy z PHP potrzebowałem wtyczki phpeclipse, do JavaScript kolejnej itd. Pół dnia zajęło mi skompletowanie wtyczek, które później i tak działały jak chciały.
PDT
Bardzo fajna rzecz. Korzystam z niej na swoim domowym develu i bardzo dobrze się spisuje. Jedyną wtyczką jaką dogrywałem było wsparcie dla pisania w Symfony (symfoclipse). Ładnie kolorowana i podpowiadana składnia dla wszystkich potrzebnych typów przy pisaniu stron internetowych.
NetBeans
Nigdy wcześniej nie sądziłem, że tworząc strony będę posługiwał się NetBeans’em – a tu wielka niespodzianka… i jeszcze większe zaskoczenie! Wszystko wyszło w momencie gdy pracując nad PHP i JS potrzebowałem narzędzia do ładnego kodowania w Java (swoją drogą niezłe połączenie ;) ). Eclipse nie dawał już rady, więc zaryzykowałem i opłaciło się. Ciekawy interfejs pomagający się odnaleźć w klasach i funkcjach, szybka i prosta obsługa no i przejrzyste kolorowanie składni. Do tego dorzućcie podpowiadanie składni i intuicyjne przechodzenie pomiędzy klasami.
Tym razem kończę – NetBeans! Do kolejnego wybory ;)
Wakacje się skończyły, trzeba wracać do pracy. Znowu nasuwa mi się jeden z większych dylematów tego lata – uczyć się Vim’a czy kombinować z Eclipse? To pytanie nie daje mi wręcz spać po nocach…
Jak zrobić prosty generator losowych znaków?
Posadzić człowieka przed vi i kazać mu wyjść z programu.
Trochę ponad rok temu, idąc pracować w firmie, niejako zostałem zmuszony do pracy w Eclipse. Wcześniej używałem różnych narzędzi, ale nie byłem chyba jakoś szczególnie do żadnego przywiązany. Po poznaniu Eclipse’a, a właściwie to PDT (PHP Development Tools), przyzwyczaiłem się do edytora i było wszystko ok.
Po zmianie firmy przede wszystkim nastąpiła zmiana środowiska z Windowsa na Linuxa (CentOs 5) i znowu zaczęła się walka z edytorem. Nie został mi narzucony żaden konkretny. Podpatrując jednak kolegów bardzo spodobała mi się konwencja nie używania myszki przy programowaniu – o bo i po co? Vim umożliwia to doskonale, jednak sterowanie programem za pomocą klawiatury, skróty klawiszowe i komendy trochę mnie początkowo przestraszyły. Dla treningu ściągnąłem sobie windowsową wersję – gVim7.2 – i wziąłem się za lekturę i tzw.research ;) Oto kilka bardziej przydatnych linków:
W Radiu SAR (Studencka Agencja Radiowa) serwer broadcastowy, dns, www plus jeszcze jakieś usługi, stał od zawsze. Uruchomiony, na samym początku istnienia radia, na dystrybucji Slackware i skonfigurowany odpowiednio spełniał swoje zadanie doskonale… do czasu. Do czasu, gdy potrzebna była jakaś naprawa, łatka, aktualizacja, albo po prostu mała zmiana w konfiguracji. Tak jak już wspomniałem serwer posiadał kilka uruchomionych usług, przez co był mocno obciążony. W późniejszym okresie kilka usług zostało wyłączonych, co spowodowało z kolei straszny bałagan.
Kilka dni temu serwer padł ostatecznie i po kilku próbach reanimacji go stwierdziłem wraz z moim pomocnikiem, który wykonał większość brudnej roboty i za to mu dziękuję, że trzeba serwer postawić od nowa – na czysto. Dzięki pomocy udało nam się praktycznie bezboleśnie w ciągu godziny, może dwóch, zainstalować i skonfigurować Debiana. Serwer praktycznie nie posiada żadnych zbędnych paczek. Tylko to co niezbędne do poprawnego działania i monitoringu bieżącego.
Dla tych, którzy chcieliby kiedyś stawiać serwer radiowy, spis wykorzystanych technologii:
Dzięki powyższym narzędziom, można w prosty i szybki sposób nadawać, monitorować i zbierać statystyki naszej stacji radiowej.
Bardzo fajnym i przydatnym narzędziem okazał się być Nagios. Po dwóch dniach pracy z nim, nie wiem jak mogłem wcześniej się bez niego obejść. Przy kilku działających komputerach w radiu – w tym praktycznie 3 działają 7 dni w tygodniu, 24 godziny na dobę – kilkunastu uruchomionych usługach i jednym człowieku monitorującym całość w swoim wolnym czasie, którego i tak nie ma zbyt wiele, to jednak trochę uciążliwe. A przy wykorzystaniu tego systemu, widać jak na dłoni co, gdzie i dlaczego działa bądź nie.
Całkiem niedawno udało mi się skończyć kolejny projekt – Trójmiejski Serwis Mieszkaniowy – tsmonline.pl.
Co do zawartości serwisu – dużo na prawdę przydatnych informacji na temat budowy, kupna remontu domu oraz innych kwestii związanych z domem oraz mieszkaniem. Artykuły oraz porady są naprawdę ciekawe – sam wieczorami często je czytam, bo niedługo zakończy się okresbeztroskich studiów i trzeba będzie pomysleć nad swoim własnym kątem.
Jeżeli chodzi o stronę techniczną, to we wpisie Nowy projekt. Daleka droga… zastanawiałem się nad wyborem odpowiedniego frameworka, wybrałem Code Ignitera dlatego, że jest prosty i szybko mozna na nim zbudować tego typu serwis. Skorzystałem z gotowej biblioteki CRUD’a po niewielkich przeróbkach własnych, która znacznie przyspiesza tworzenie panelu administracyjnego.
W miądzyczasie poznałem, i to dość dogłębnie wydaje mi się, framework Symfony. Jego możliwości oraz budowa według mnie są naprawdę powalające. Sama konstrukcja modelu, jego integracja z Propelem była dla mnie na początku czymś nie do pojęcia, ale po miesiacu pracy nie mogłem sobie wyobrazić nic wspanialszego.
Do tego dorzuciłem nowy edytor (tym razem na licencji darmowej ;)), a jest nim Eclipse, dokładniej PDT – PHP Development Tools. Edytor sprawdza się świetnie, jest intuicyjny i nawet nie przeszkadza brak automatycznej podpowiedzi. Można to co prawda jakoś włączyć, ale wydaje mi się, że bez tego szybciej się pisze… Do tego dochodzi brak konieczności instalacji… po prostu mniód, cud i orzeszki :P
Podsumowując Symfony rządzi dla dużych i średnich projektów, ale dla mniejszych i gdy nie mamy pewności co do serwera – Symfony wymaga bibliotek PEAR – polecam Code Igniter, bo jest dosyć szybki i naprawdę prosty w użyciu.
Przez ostatnie trzy dni praktycznie 20 godzin na dobę siedzę i koduję stronkę, a właściwie portal już. Tym razem jako engine pod całośc wybrałem framework CodeIgniter. Sam się zdziwiłem jak prosto i szybko można w nim tworzy naprawdę fajne rzeczy. Wcześniej z bardziej popularnych frameworków używałem tylko CakePHP.
Może to, że CI nie jest moim pierwszym zetknięciem z takiego typu rzeczami, a może rzeczywista łatwośc obsługi i prostota sprawiły, że w CI koduje mi się naprawdę szybko, łatwo i przyjemnie. W trzy dni napisałem więcej niż normalnie napisałbym przez tydzień!
CodeIgniter ma bardzo przyjazną (przynajmniej z mojego punktu widzenia) dokumentację – User Guide oraz trochę już zakręcone, ale za to dosyc dobrze uzupełnione – Wiki – jak do tej pory znalazłem wszystko czego potrzebowałem.
W tym projekcie zastosowałem też nową rzecz dla mnie, a mianowicie framework CSS – YAML. Na początku ilośc plików CSS mnie troche przeraziła, ale już po chwili wszystko stało się jasne i stworzenie pełnego layoutu w CSS’ie było faktem.
To tak pokrótce na temat technologii. O samym projekcie na razie wolałbym się jeszcze nie wypowiadac, ponieważ znajduje sie dopiero w bardzo początkowej fazie. Ale jak tylko będę mógł powiedzie coś więcej nie omieszkam się napisac. A myślę, że naprawdę warto śledzic ten projekt.
Nigdy nie przypuszczałem, że znajomośc PHP aż tak może pomóc na studiach. W sumie to ani kierunek studiów, ani nawet przedmiot nie jest nijak związany z programowaniem, a już na pewno nie z PHP. Przechodząc do sedna sprawy.
Miałem dzisiaj obronę projektu z jakże wdzięcznego przedmiotu Podstawy Inżynierii Ruchu Telekomunikacyjnego. Pan doktor po usadzeniu nas naprzeciw siebie zaczął kartkowa nasz projekt i czytając swoje notatki wytknął kilka błędów.
Po dotarciu do punktu, w którym liczyliśmy liczbę łączy pomiędzy węzłami z funkcji Erlanga zapytał który z nas dwóch programuje w PHP. No i się zaczęło :P Cała obrona projektu trwała może z 10 minut z czego połowę czasu rozmawialiśmy o PHP i jego raczej gorszych stronach.
Wszystko sprowadza się do tego, że dostaliśmy piękne piąteczki opowiadając o programie, a właściwie metodzie jego napisania i samym języku więcej niż na temat samego projektu.
Kocham tą uczelnie po prostu!
Jak zawsze przy starcie nowego projektu mam ten sam problem – skorzystac z gotowego rozwiązania, tudzież jakiegoś frameworka, czy ze swojego zestawu bibliotek i funkcji, które notabene niejako same w sobie tworzą jakis framework. Strona, którą mam napisa nie wydaje się skomplikowana (jak wszystkie na początku :P), kilka działów, dodawanie zawartości – artykuły itp.
Na początku pomyślałem o CodeIgniter’ze, ponieważ słyszałem troche o nim i nie wydaje się trudny. Potem znalazłem coś co nazywa się Symphony, jest to CMS, który pozwala z tego co zdążyłem się zorientowac zbudowac strone praktycznie tylko z poziomu panelu admina poprzez przeglądarkę www. Projekt dosyc ciekawy, zwłaszcza patrząc na strony, które opierają się na tym CMS’ie.
Tak siedze więc i ucząc się do egzaminu z Systemów Radiokomunikacyjnych rozmyślam nad tym. Prawde mówiąc coraz bardziej skłaniam się ku własnej radosnej twórczości – bo nie ma to przecież jak zrobi coś samemu… Od kiedy zacząłem w swoich projektach korzystac z obecnego systemu sporo w nim ulepszyłem i naprawde zaczyna to wygląda porządnie, chociaż brakuje jeszcze kilku rzeczy, żeby można było spokojnie go urzywa do większych projektów. Myślę, że ten projekt będzie doskonałą okazją do rozwinięcia mojego engine’u. Może kiedyś zrobie z tego jakąś publiczną wersję…
Po całym roku przygotowań, obietnic, nerwów i innych ciekawych emocji, w końcu wczoraj rano ruszyłą strona RadioSMS.pl.
Nie obyło się oczywiście bez niedoróbek, pomyłek i błedów startowych, chociaż niby wszystko już było na cacy przetestowane. Ale takich sytuacji chyba po prostu nie można uniknąc.
Ogólnie strona nie jest moż jakimś wielkim osiągnięciem w dziedzinie webdevelopingu, ponieważ zacząłem ją pisac już ponad rok temu to pozostały niektóre fragmenty starego kodu, gdyż nie było czasu, ani ochoty na przerabianie wszystkiego według jakichś nowszych technologii, albo po prostu usprawnienia tego co już było. Niektóre fragmenty pisane są po 4-5 razy, głównie z powodu zmiany zdania klienta.
No bądź co bądź strona dosy udana, chodź nie pozbawiona błędów. Strona będzie jeszcze rozwijana i na pewno błędy, które już są widoczne zostaną zlikwidowane, dodatkowo mam nadzieję wprowadzi kilka optymalizacji dla szybszego działania strony…