Git hooks

Kilka prostych hooks, które przydadzą się dla osób pracujących z git/gitlab oraz bugzilla i redmine. Dzięki nim można zautomatyzować trochę nasze procesy commit oraz push. A co najważniejsze: wszystko to możemy napisać w php.

Przenosiny

W końcu przeniosłem się na nowy serwer. Wykupiliśmy razem z Łukaszem serwerek i sobie na nim działamy. Przy okazji przenosin zmigrowałem też moją stronkę na php7 i odziwo działa - całkiem nieźle jak na kod pisany 10 lat temu . Zrobiłem też od razu porównanie działania stronki na php5 i php7 i zgodnie z przypuszczeniem na php7 strona główna generuje się około 4 razy szybciej niż na php5 - tak więc jak ktoś z Was ma jeszcze opory z przesiadką na php7 to nie ma co czekać.

Od razu mała prośba do Was: jak zobaczycie, że coś nie do końca działa jak powinno to dajcie znać.

Docker - zaprzęgamy kontenery do pracy

W moim pierwszym artykule o Docker pokazałem wam jak przygotować podstawowy kontener, który zawiera php. mysql oraz apache. Trochę mi się oberwało, że skoro używam kontenerów to wypadałoby na każdy serwis postawić oddzielny kontener i w razie potrzeb przełączać się między kontenerami by uzyskać różne środowiska testowe bez konieczności większych zmian w konfiguracji. Ok, nauka zapamiętana... Dziś pokażę więc wam jak stworzyć kilka różnych kontenerów, każdy z jedną usługą, a następnie połączę to wszystko w jedno piękne środowisko testowe, w którym możemy odpalać naszą aplikację zarówno na php5 jak i php7

Vagrant lxc

W poprzednim artykule (Docker - podstawowy kontener) opowiedziałem Wam o moich pierwszych przygodach z Dockerem i linuksowymi kontenerami. Jedną z zalet, jaką wszyscy podają, jest brak wirtualizacji (a co za tym idzie duża oszczędność zasobów) w porównaniu do Vagrant, który to używa właśnie wirtualizacji, choćby przy pomocy VirtualBox. Gdy się tak zagłebiałem w świad Dockera, przypadkiem natrafiłem na wtyczkę do Vagrant, która to zamiast np. VirtualBox używa własnie LXC - vagrant-lxc

Docker - podstawowy kontener

W arcie tym postaram się wam szybko pokazać jak przygodować swój pierwszy kontener do pracy z projektem lub projektami. Nie będę się rozpisywał czym jest docker, gdyż w necie znajdziecie całą masę wyjaśnień pisanych przez osoby bardziej doświadczone w temacie niż ja. Ja na szybko powiem tak: Docker to narzędzie, które pozwala stworzyć kontenery, które dostarczają środowisko pracy, ale jednocześnie są odseperowane od systemu głównego oraz od innych kontenerów, dzięki czemu możecie sobie robić z danym kontenerem co wam się żywnie podoba i nie wpłynie to w żaden sposób na wasz główny system, czyli np. możecie zainstalować sobie na próbę php7 w kontenerze i nie martwić się, że szlag wam trafi wasze inne projekty chodzące na php5. Coś podobnego daje wam również Vagrant, ale Vagrant tworzy Virtualne Maszyny i jest przez to wolniejszy oraz zużywa więcej zasobów.

NULL czy NOT NULL - o to jest pytanie

Przeglądając różne kody często widzę, iż programiści nie zwracają uwagi na to, czy ich pola są NULL czy NOT NULL. Ba, swego czasu mi to tam też było wsio rybka. Jednak jest to dość ważna kwestia.... No dobra, świat się przez nią nie skończy, ale dobrze jest na to zwracać uwagę.

NeptunIDE - edytor online

Niedawno dostałem info o nowy edytorze online NeptunIDE. Co to jest? Wyręczę się informacją prasową:

NeptunIDE to polski startup, który tworzy zintegrowane środowisko programistyczne (IDE) dla PHP działające w chmurze.
[...]
NeptunIDE to środowisko programistyczne, które stawia na szybkość działania, podpowiadanie składni i wsparcie dla frameworka CakePHP.
Przeprowadziliśmy ankietę wśród ponad 500 programistów PHP z całego świata. Odpowiedzi były niemal jednomyślne: dla zdecydowanej większości programistów najważniejsze jest jak najbardziej precyzyjne podpowiadanie kodu, w każdym możliwym momencie, a najbardziej denerwującą rzeczą w używanym przez nich oprogramowaniu jest szybkość, zużycie pamięci i responsywność. Oczywiste wiec dla nas było, że na te dwie potrzeby użytkowników musimy postawić tworząc NeptunIDE. Trzecia cecha naszego produktu - specjalne wsparcie dla CakePHP - to nasza własna propozycja.

Klasa widoku - poprawki

Z racji, że było kilka uwag do klasy View, wprowadziłem parę poprawek. Klasa niestety nie jest kompatybilna wstecz, głównie ze względu na wprowadzenie namespaceów. Głowne zmiany/dodatki:

  • Wprowadzenie namespace
  • Likwidacja właściwości statycznych
  • Możliwość ustawienia by klasa rzucała wyjątkami zamiast zwykłymi błędami jak do tej pory
  • Dodanie metod pozwalających akcji na dodawanie własnych kodów js/css/meta w nagłówku strony (przykład w akcji login.php)
  • Możliwość definiowania core'owych pluginów. Na chwilę obecną dołączam jeden plugin HtmlOptions, który na podstawie tablicy danych generuje OPTION dla pola SELECT

Najnowsza wersja posiada numerek 1.1 i jest do pobrania w dziale download.

Klasa widoku

Często na Waszych stronach wstawiacie jakiś system szablonów, np. Smarty. A potem biegacie po forach z pytaniami a jak zrobić to a jak tamto w takim Smarty. Dodatkowo taki system to jedna wielka kobyła, która na dobrą sprawę w niczym nie usprawnia życia, a wręcz czasami komplikuje. Często wpadacie na pomysł, by napisać własny system szablonów. Ale to również nie jest zbyt dobry pomysł. Zadam Wam pytanie: ale po co w ogóle bawić się w system szablonów? Odpowiecie zapewne: by oddzielić wygląd aplikacji od jej logiki. Tak, po to. Ale po co bawić się w system szablonów, który oprócz wprowadzanie własnej nowej składni nie robi tak naprawdę nic użytecznego. Może po prostu wprowadzić system, który będzie operował jedynie na czystym HTML oraz PHP. Wówczas nie trzeba poznawać żadnej nowej składni ani bawić się w dzikie parsowania szablonów. I taką właśnie klasę widoku chcę Wam dziś pokazać.

1  2  3  4  5  6  7    >

Ostatnio komentowane

  1. Pager nospor
  2. Pager Adrian
  3. Pager Chris
  4. Pager Chris
  5. Docker - zaprzęgamy ... nekih82
  6. Docker - zaprzęgamy ... nospor
  7. Docker - zaprzęgamy ... szymon

Skrypty użytkowników

  1. Klasa obsługi szablo... Lirdoner
  2. Sekcje user76
  3. Klasa walidująca for... user76
  4. Licznik Gości online korey
  5. Form Builder Comandeer
  6. Dynamiczny licznik z... korey
  7. Captcha Comandeer