Po-słowie na każdy temat

czyli programowanie i nie tylko

GitInspector

Witam, tym razem nawiążę pośrednio do archiwalnego artykułu dotyczącego Gource. O ile Gource można określić ciekawym gadżetem, o tyle GitInspector to już aplikacja pozwalająca czerpać korzyści z punktu widzenia biznesowego. Managerzy projektów często korzystają z dużo większych analiz, które są oferowane w CI, dlatego opisywaną aplikację określam raczej, jako dedykowaną dla małych projektów, małych firm lub programistom, którzy sami chcieliby zobaczyć, jak wyglądają na tle swoich kolegów w projekcie. Wspólnym wyznacznikiem w obu przypadkach jest system kontroli wersji GIT. Sporo czasu zajęło mi wyszukanie programów tego typu. Bardzo się zdziwiłem, kiedy okazało się, że aplikacje tego typu istnieją i cieszą się mniejszym lub większym powodzeniem. Byłbym bardziej obiektywny, gdybym takie testy aplikacji zrobił niezależnie na każda platformę. Jednak na razie musicie się zadowolić moim faworytem na system Windows. GitInspector ma to czego wymagałem od tego niego.

Czytaj dalej…

WordPress – dobre hasło jest złe

Witam, idzie wiosna, będzie więcej artykułów. Dobra, bez ściemy. Zaczynamy od lekkiego tematu, który potrafił spędzić sen z powiek. Laik zapewne powyrywałby sobie włosy, ale nie tędy droga. Jeszcze nie wiecie nawet o czym piszę, więc do sedna. Poczujcie sytuację, którą przeżyłem.

Uruchamiacie nowego bloga. Wszystko cacy. Dodam, że mówimy o najnowszej wersji 4.1. Podajecie dane autoryzacyjne administratora. Hasło oczywiście silne, bo jakże by inaczej. Ustawiacie wszystko. Dodajecie wpisy, motywy, strony. Czujecie pełne zadowolenie (w moim przypadku prawie pełne, ale idealizujemy sytuację). Na drugi dzień próbujecie zalogować się do panelu zarządzania i zaczynają się problemy. Ehh, aby dotrwać do happy endu …

czytaj dalej…

jQuery EasyUI – datagrid – filtr przedziałowy po dacie

Nie wszystko otrzymujemy w pakiecie, inaczej nie nazywalibyśmy się programistami. Nieprawdaż? Takie wyzwanie stanęło niedawno przede mną podczas „chwilowych” prac z biblioteką jQuery EasyUI. Zadanie było proste – grid. Grid z danymi, grid z filtrami. Wszystko pięknie. Sam grid jest wsparty natywnie biblioteką, filtry obsługiwane są przez rozszerzenie. Filtr daty również istnieje. Ale, no właśnie – filtrowanie daty po przedziale to już miejsce na popis programistów. Nawet nie w całości, jeśli dokładnie śledzimy sieć. Zachęcam to lektury.

O datagridzie przeczytacie tutaj. O rozszerzeniach – filtrowaniu grida – dowiecie się więcej z tej strony. Zmierzamy w dobrym kierunku. Przyglądając się domyślnym operatorom filtrowania, można wywnioskować, że działają one typowo wspierając treść (String) lub liczby (Number). Dociekliwych odsyłam do źródła otwartego kodu – tutaj.

Zatem możemy dodać filtr daty, ale wyłącznie porównując wartość komórki do jednej wskazanej wartości podanej w filtrze. To nas nie interesuje, więc musimy coś dodać. Najpierw chwila poszukiwań rozwiązań po sieci i … mamy jeden traf. Jest rozwiązanie, ale jednak niekompletne. To nie problem. W tym artykule sprawimy, by stało się kompletne.

Czytaj dalej…

Agile – rola klienta i rola programistów

Zwinnie przechodzimy do kolejnego tematu. Trzeba przyznać, że na klientów-ignorantów w branży informatycznej nie można sobie pozwolić i wystrzegać się tego, jak ognia. Podejście mówiące „ja płacę i oczekuję wyników za 6 miesięcy, w międzyczasie wyjeżdżam na 3 miesięczny urlop i generalnie będę niedostępny” jest skrajne. Zgadzam się, ale to na nim bardzo dobrze widać, czy i komu bardziej zależy na realizacji (jeśli w ogóle komuś zależy). Aby zadanie się powiodło klient musi poświęcić nie tylko pieniądze, ale i czas – swój, bądź osoby upoważnionej i przede wszystkim decyzyjnej.
Czytaj dalej…

Agile, czyli lepiej

Tym artykułem chciałbym rozpocząć cykl dotyczący metodyki Agile. Jednak nie będziemy ściśle trzymać się określonych ram. Można liczyć na porównania z innymi (konkurencyjnymi?) metodykami, które wspierają pracę licznych zespołów programistów. Ale czy tylko ich? Sukces, czy porażka projektu zależy nie tylko od programistów. Wiadomo, ojców sukcesu jest zawsze więcej, aniżeli ojców porażki, ale ciągle mówimy o licznych stanowiskach – od analityków, po testerów. Każdy szczebelek tej drabiny, ma swój wkład w rozwój. Czy łatwo wskazać powiązania? Gdzie ich szukać? Na co zwrócić uwagę, by mechanizm pracy działał bez zarzutów? Tutaj z pomocą przychodzą metodyki.

Czytaj dalej…

Projektowanie stron – manipulowanie wielkością czcionki

Witajcie moi Drodzy Czytelnicy!

Wracamy do rzeczy. Rzecz w tym, że jest mnóstwo kwestii do omówienia na forum bloga. Zaczniemy wspólnie od tematu projektowania strony pod kątem użytych czcionek. Pomyślicie w pierwszej chwili, że jest to banał, ale z doświadczenia wiem, że trzeba trochę czasu spędzić na przemyśleniu podejścia. Na początku zaznaczę, że nie ma złotego środka. Postęp w świecie aplikacji internetowych przybiera na tempie, chociaż na obecną chwilę nie jest łatwo ogarnąć ogromu materiałów, technologii i powiązać ich w celu wyznaczenia optymalnej drogi rozwoju tworzonego dzieła. Tak, dzieła, bowiem aplikacja to obraz naszej wyobraźni, naszej i naszych kolegów z zespołu – w skrajnym przypadku nielubianych projektantów-podwykonawców lub klienta 🙂

Czytaj dalej…

Konfrontacja frameworków Yii vs Laravel (runda 1)

Laravel vs YiiDzisiaj rozpoczynamy nową serię artykułów. Poświęcimy trochę czasu na analizę (rynku, upodobań, wad i zalet) frameworków PHP. Zbadamy, co jest teraz na topie, co zyskuje coraz większe grono sympatyków. Spojrzymy na temat pod różnymi kątami. Postaramy się być możliwie najbardziej obiektywni. Gdyby szło to zbyt topornie, zawsze możecie wybuczeć ‚konferansjera’ w przerwie pomiędzy rundami 🙂

Zatem do rzeczy. Nie dawno spotkałem się z dość kontrowersyjnym stwierdzeniem „Framework nie jest potrzebny – sam tworzę, sam konserwuję, więc wiem jak to wszystko funkcjonuje”. Przyznam szczerze, że takie stwierdzenia słyszałem zbyt dawno, zbyt dawno były one na porządku dziennym i dlatego stwierdzam jasno, że osoba je wypowiadająca i konsekwentnie realizująca ich przesłanie, jest niestety zacofana. Dlaczego? A to dlatego, że czasy, w których witryna opierała się o 4 strony i bazę danych pokroju 4 tabelek minęły i nie powrócą. Obecne witryny – duże i wymagające ogromu pracy – wiążą się już nieśmiesznym rozmiarem kodu źródłowego. O ile przy sporej koncentracji programisty, projektanta i menadżera projektu można nad nimi zapanować, o tyle nie jest to możliwe na dłuższą metę, a o zmianie zespołu tworzącego można zapomnieć.

Od tego są frameworki. Mają ułatwić pracę, ustrukturyzować aplikację i w mniejszym lub większym stopniu wesprzeć tworzenie kodu. A więc zaczynajmy prezentację „zawodników”!  Czytaj dalej…

PhoneGap/Cordova (2) – Ripple Emulator

ripple-logo-squareWitam po świątecznym wypoczynku. Niecierpliwiliście się? Mam taką nadzieję. Zatem do dzieła, a nasze dzisiejsze dzieło zwie się Ripple Emulator. Sama nazwa może nie nakierować osób, które nie miały z nim styczności. Dlatego zacznijmy od opisania narzędzia, które pod swoje skrzydła niedawno wziął Apache. Piękny opis znajdziecie na stronie Apache Ripple, ja jednak pozwolę sobie na parę zdań wstępu. Otóż dobrze zintegrowane środowisko programistyczne, przygotowane do tworzenia aplikacji PhoneGap, wiąże się testowaniem wyniku naszych prac kodowania na wirtualnym emulatorze urządzenia mobilnego i/lub na rzeczywistym urządzeniu – smartfonie lub tablecie. Ekstra, ale czy to jest wszystko, czego można oczekiwać? Jak się domyślacie – nie! Logicznie rzecz ujmując – PhoneGap = Html5+JS+CSS3 – a to nasuwa pytanie: Dlaczego zatem nie można byłoby testować w przeglądarce? I słusznie, wystarczy odpowiednia aplikacja, która pozwoli symulować ekran urządzenia mobilnego i jego specyficzne funkcje. To wszystko zapewnia Apache Ripple, który jest obecnie w wersji rozwojowej (Beta) i znajduje się w inkubatorze. Przydatne, naprawdę przydatne.  Czytaj dalej…

Windows 7 USB, połączenie niecodzienne

Voila … czysty system Windows 7 zainstalowany 🙂 Zapytacie, skąd ta radość? Oj, to jest nieodłączne połączenie udanego przedsięwzięcia połączonego z dziełem Microsoftu. Mogę być „troszkę” nieobiektywny, bowiem bardzo sceptycznie podchodzę do każde ze spłodzonych dzieci Microsoftu. Chociaż życie pokazuje, że nie powinno tak być, gdyż korzystam przez 90% pracy z komputerem z systemu z Redmond.

Microsoft WindowsJak wszyscy wiecie czasami przychodzi czas czyszczenia komputera z danych, ponowna instalacja systemu i powrót do zamierzchłych czasów demona prędkości. O ile brzmi to kusząco, o tyle zwiastuje problemy. Problemy bywają mniejsze (gdy wykorzystujemy CD/DVD instalacyjne) lub większe (gdy chcemy posłużyć się bootowalną pamięcią USB).

Wyobraźcie sobie sytuację, w której Wasz napęd CD/DVD przestaje czytać płyty. Swoją drogą jest to bardzo częste zjawisko w komputerach przenośnych po 4-5 latach użytkowania (niekoniecznie obciążającego równomiernie napęd). Co robicie lub co planujecie, widząc w niedalekiej perspektywie konieczność czyszczenia dysku i instalacji systemu operacyjnego na nowo?

Znajdując się w takiej sytuacji wcale nie musimy narzekać na brak opcji, brak możliwych (dobrych) rozwiązań.

  1. Wykorzystanie napędu CD/DVD zewnętrznego, łączącego się z komputerem kablem USB. Jest to rozwiązanie proste, bowiem nie musimy rezygnować z naszej płyty instalacyjnej systemu operacyjnego. Realnym minusem może być koszt, w przypadku braku takiego napędu (>=200 PLN), chyba że pożyczymy od znajomego.
  2. Wykorzystanie portu USB i instalacja systemu z pamięci USB.
  3. Rezygnacja z Windowsa i skorzystanie z Linux Live USB.

Czy punkty 2 i 3 w przesłaniu nie są takie same?  Czytaj dalej…

Przygoda z PhoneGap/Cordova (1)

PhoneGap/CordovaZapewne coraz częściej w branży mówi się o frameworku PhoneGap firmy Adobe. Jest w pełni darmowy i umożliwia budowanie „pseudonatywnych” aplikacji na urządzenia mobilne. Brzmi ciekawie? A jakże. Nie musimy bowiem uczyć się Javy (Android) lub Objective-C (iOS) by stworzyć natywną aplikację mobilną. Podejście, jakie przedstawia PhoneGap jeszcze niedawno było szeroko krytykowane przez osoby powiązane z branżą. Jednak czy słusznie, tego nikt obiektywnie nie oceni. W mojej ocenie krytyka była spowodowana:
– rozwojem PhoneGap’a
– niezaradnością i/lub nieznajomością HTML5/JS
– przeświadczeniem, że jest to słabe.

Szerząca się w ten sposób propaganda źle oddziaływała na pewno na osoby/firmy badające rynek, możliwości i zalety Adobe PhoneGap. W myśl mojego przekonania, że „dobry produkt sam się wybroni” mogę przekierować wszystkich na stronę phonegap.com, gdzie możecie sprawdzić ile i jakie aplikacje zawdzięczają swój żywot właśnie temu wrapperowi. Czy warto zainteresować się frameworkiem i jak rozpocząć przygodę z tworzeniem aplikacji z wykorzystaniem PhoneGap’a? O tym w dalszej części artykułu.  Czytaj dalej…