Problem z sesjami, ajaxem i wolnym CI

Ostatnimi czasy zmienił mi się laptop. Co by tu nie mówić maszyna lekko 2x szybsza od mojej poprzedniej. Podczas reinstalacji środowiska wszystko przebiegało poprawnie, udało się uruchomić wszystko jak trzeba poza jednym projektem. Projekt ten nie wyróżniał się niczym specjalnym poza faktem, że strona główna zawierała dashboard z dużą ilością ajax’owych widgetów. Problem polegał na tym, że załadowanie widgetów zajmowało ponad 2 min odpowiedzi. Gdzie na serwerze produkcyjnym czas ten lekko przekraczał 10-20s – też dosyć długo, ponieważ na poprzednim laptopie wszystko ładowało się poniżej 1s.

Czytaj dalejProblem z sesjami, ajaxem i wolnym CI

Dobre praktyki programistyczne – Testy Jednostkowe

Ponieważ pracuję z programistami i z kodem już ponad 10 lat, pomyślałem sobie że warto opisać trochę dobrych praktyk programistycznych. Oczywiście niektóre pochodzą z moich przyzwyczajeń i opinii, niektóre udało mi się nabyć od moich szacownych kolegów które wynieśli je zachodnich firm (Nokia & Siemens).

Jest to pierwszy artykuł z serii, które postaram się tutaj opublikować. Oczywiście w ramach dostępnego czasu.

Przekonany też jestem, że pojawią trole które napiszą „jesteś głupi i się znasz” – ale chciałbym  żeby poparte było to otwartą konstruktywną dyskusją. Tutaj, lub na forum.

Zaczynamy… Na pierwszy ogień – Testy Jednostkowe zwane w oryginale: Unit Testing

Czytaj dalejDobre praktyki programistyczne – Testy Jednostkowe

Pobieranie tweet’ów z Twittera przez CI

Dawno, dawno temu zadanie było to bardzo proste. Wystarczyło pobrać Tweety z danego URLa – były serwowane jako feed JSON albo XML. Teraz niestety wszystko jest odrobinę bardziej skomplikowane.

Po pierwsze musisz wygenerować sobie kilka magicznych ustawień związanych z autoryzacją OAuth – którą Twitter jakiś czas temu wprowadził, żeby utrudnić życie biednym developerem. Jak to zrobić – udać się na stronę dev.twitter.com i klikać tak długo aż uzyskasz „Consumer key”, „Consumer secret” a zaraz potem „Access token”, „Access token secret”. Tyle potrzebujemy ze strony Twittera.

Następnym krokiem będzie pobranie biblioteki twitter-api-php. Biblioteka ta może działać niezależnie, ale my wrzucimy ją do foldera application/libraries. Potem można z niej korzystać już normalnie w kontrolerach.

Czytaj dalejPobieranie tweet’ów z Twittera przez CI

CRUD dla CodeIgniter czyli rozszerzamy modele

Jakiś czas temu Renholder opisał jak rozszerzyć klasę CI_MODEL. W artykule pojawił się odnośnik, do dwóch gotowych projektów tego typu. Jeden z nich to klasa o nazwię codeigniter-base-model autorstwa niejakiego Jamie Rumbelow’a.

Pytanie jest proste – po co w ogóle się za to zabierać? Prawda jest taka, że CI jest dosyć „biedny” w porównaniu do innych frameworków. Nie ma porządnego ORM, nie ma automatycznych modeli – nie ma nic co pozwala na faktycznie szybkie prototypowanie aplikacji. Oczywiście każdy zaraz powie – przecież można napisać sobie samemu! oczywiście – zgadzam się. Przychodzi to z wiekiem – DRY. Jeżeli mogę zaoszczędzić 10 linii kodu, bo ktoś napisał je za mnie. Dlaczego nie. Do dzieła.

Czytaj dalejCRUD dla CodeIgniter czyli rozszerzamy modele