(My)SQL: Klauzule ORDER BY oraz LIMIT w zapytaniach z operatorem UNION.

W ciągu ostatnich tygodni naprawdę mocno pracowałem z przeróżnymi zapytaniami SQL, stąd też wynotowałem sobie kilka kwestii, które uznałem za warte opisania na blogu. Ostatnie dwa wpisy na ten temat, czyli znajdowanie rekordów sąsiednich, czy też operacje na przedziałach czasu to tylko wierzchołek góry lodowej problemów, z jakimi musiałem się zmierzyć, żeby osiągnąć zamierzony efekt. Dzisiaj chciałbym powiedzieć kilka słów na temat składni zapytań łączonych operatorem UNION - zapraszam do lektury.

SQL: Znajdowanie rekordów w przedziale czasu.

Dzisiejszy wpis ponownie będzie krótki i prosty, ponownie też podejmę temat zapytań SQL przydatnych w codziennej pracy programisty. Czym w takim razie się zajmiemy? Otóż, w związku z tym, że “czasem” musimy wykonać pewne instrukcje w zależności od istnienia bądź nieistnienia rekordów dodanych w konkretnym przedziale czasu (np. wczoraj, w ostatnim tygodniu), w tym wpisie chciałbym pokazać, jak to zrobić w prosty i przyjemny sposób. Zapraszam do lektury.

PHPCon 2011 Polska: Zapisz się i Ty!

Na pewno pamiętacie, jak pod koniec maja pisałem o rozpoczęciu prac nad organizacją kolejnej edycji największej w Polsce konferencji poświęconej językowi PHP i związanym z nim technologiom - PHPCon 2011. W tamtej chwili głównym zmartwieniem organizatorów było znalezienie odpowiedniej liczby prelegentów wraz z prezentacjami na jak najwyższym poziomie. Teraz śmiało można powiedzieć, że etap ten został zakończony, a dla nas wszystkich “biernych” uczestników została otwarta rejestracja. W związku z tym zapraszam do lektury zaktualizowanych informacji na ten temat oraz rejestrowania się na stronie.

Linkdump #52: ABC PHP.

Ten Linkdump jest zdecydowanie spóźniony - to chyba pierwszy wpis, z którym “nie wyrobiłem” się w ciągu dwóch dni względem Harmonogramu. Tak to jednak jest, jak się ma tyle pracy, że po tych kilkunastu godzinach człowiek już nawet nie myśli o tym, że gdzieś w Internecie istnieje jakaś strona, którą się zarządza, a tym bardziej, że wypadałoby ją nieco zaktualizować. Dlatego dzisiaj naprawiam swój błąd i publikuję zaległy Linkdump z niedzieli. Zapraszam do lektury!

(My)SQL: Jak znaleźć poprzedni i następny rekord w jednym zapytaniu?

Pracowałem ostatnio nad skryptem galerii w jednym z projektów i w pewnym momencie natrafiłem na problem polegający na wyświetlaniu w widoku pojedynczego zdjęcia linków kierujących do następnego i poprzedniego elementu. Nie jest to pierwszy raz, kiedy zostałem zmuszony do “poradzenia sobie” z tego typu sytuacją, dlatego uznałem, że warto opisać wykorzystane rozwiązanie na blogu. Standardowo mam nadzieję, że się przyda, zatem zapraszam do lektury. ;]

Symfony2: Nowa era frameworków... została rozpoczęta!

Dzisiejszy dzień jest wielkim dniem. Półtoraroczny wysiłek 250 osób z wielu krajów pod kierownictwem znanego z “części pierwszej” tej sagi Fabiena Potenciera zakończył się wydaniem stabilnej wersji Symfony2 - 2.0.0. Długo czekałem na tą chwilę, kiedy będę mógł w końcu spróbować swoich sił w pracy z finalną wersją, dlatego jako wielki fan symfony 1.x tym bardziej cieszę się z dzisiejszego wydania. W niniejszym wpisie chciałbym krótko uczcić to święto wszystkich programistów PHP - nowa era frameworków tego języka została oficjalnie uznana za rozpoczętą!

Logitech G15: Niedziałający klawisz "Windows".

Witajcie ponownie. Tak się składa, że jakiś czas temu podjąłem jedną z (moim zdaniem) lepszych decyzji w kwestii ulepszenia własnego stanowiska pracy - zakupiłem klawiaturę Logitech G15. Dla osób postronnych wygląda ona jak panel zarządzania centrum kosmicznym, dla ludzi “po fachu” jest to po prostu pewnego rodzaju gadżet. Sprzęt ten posiada bardzo wiele funkcji, które zdawało mi się, że znam, jednakże dzisiaj wieczorem odkryłem nową, nieznaną mi dotąd możliwość. Oczywiście zgodnie z zasadą “this is not a bug, it’s a feature” na początku miałem z tym problem, stąd dzielę się z Wami uzyskaną wiedzą.

Linkdump #51: GitHub - ciekawe projekty.

W serii Linkdump pojawiają się materiały różnego typu i o różnej tematyce - czasem bardziej popularne jak jQuery lub zbiory darmowych ikon, czasem bardziej ambitne, czyli lektury dla zaawansowanych lub chcących poszerzyć swoją wiedzę. Nie było jeszcze niczego związanego z pojedynczym serwisem - linki prowadziły zawsze do różnych zakamarków Internetu. Tym razem chciałbym to zmienić, ponieważ zaprezentuję Wam zbiór moim zdaniem najciekawszych projektów hostowanych na znanym wszystkim GitHubie. Zapraszam do lektury!

Apache: Błąd "apache2: bad user name ${APACHE_RUN_USER}".

Ostatnio miałem okazję zająć się bardziej poważnie administracją serwera (dokładniej VPSa) “od podstaw”. Od podstaw, to znaczy na zupełnie zerowej instalacji Linuksa, w związku z czym trzeba było zainstalować, skonfigurować i uruchomić wszystkie niezbędne do pracy usługi. Pomimo tego, że generalnie określiłbym się jako programista mający od czasu do czasu do czynienia z zagadnieniami administracyjnymi poszło mi to całkiem nieźle - po kilku godzinach wszystko śmigało bez żadnych problemów, a ja mogłem wrócić do kodowania. Oczywiście nie obyło się bez problemów, dlatego jedną ze znalezionych, raczej prostych przypadłości opisuję dzisiaj na blogu.

symfony: Błąd: "Catchable fatal error: Argument 1 passed to sfForm::bind() must be an array, string given".

Witajcie ponownie. Ostatnio pracuję nad pewnym projektem opartym o symfony, w związku z czym po raz kolejny mam okazję pomęczyć się trochę z jego wszystkimi zawiłościami. Dzisiejszy problem trochę mnie zdziwił, ponieważ nie spodziewałem się tego typu restrykcji ze strony frameworka, stąd też tradycyjnie szukałem błędu nie tam, gdzie powinienem. Na szczęście udało mi się znaleźć rozwiązanie, stąd też miło mi po raz kolejny ogłosić, że będę mógł podzielić się z Wami rozwiązaniem. ;]