Jest to blog poświęcony nowoczelnym technologiom ułatwiającym tworzenie aplikacji internetowych. Znajdziesz tutaj porady na temat CSS3, JavaScript, designu, web-usability, standardów W3C.
Cześć! Nazywam się Michał Środek. Z zawodu programista php, z zamiłowania gitarzysta oraz fanatyk GNU/Linuksa(openSUSE® w laptopie). W branży aplikacji internetowych od 9 lat. Prywatnie bez dzieci i kota.
Pracuję wciąż nad własnym elastycznym i wydajnym frameworkiem MVC, kilkoma portalami internetowymi oraz mniejszymi bibliotekami php. Czekam na wasze opinie, zgłoszenia błędów oraz pomysły na dalszy rozwój.
Ta część strony jest w trakcie budowy a moje prace tymczasowo niedostępne.
W przypadku pytań, ofert pracy oraz ciekawych pomysłów proszę się ze mną kontaktować. Możesz mnie znaleźć i wysłać PW na php.pl(SHiP), jamendo.com(michalsrodek), goldenLine.pl, facebook.com lub nk.pl
Pisząc grę internetową trzeba zastanowić się nad sposobem komunikacji między graczami oraz bazą danych. W przypadku aplikacji przeglądarkowych dużego wyboru nie ma. Praktycznie wszystkie gry wykorzystują technologię AJAX. Jak to działa w praktyce? Nie za dobrze. Spróbujmy stworzyć coś dużo bardziej wydajniejszego.
Fallout 2 to zdecydowanie w dalszym ciągu jedno z moich głównych źródeł inspiracji. Dlaczego teraz nikt nie robi takich gier? Muzyka z tej legendarnej produkcji została udostępniona w całości za darmo przez Aural Network — Firmę, w której aktualnie pracuje Mark Morgan. Oczywiście licencja obejmuje jedynie użycie niekomercjalne.
http://auralnetwork.com/releases
UWAGA: Tymczasowo(zapewne pod wpływem Wykop.pl) możliwość pobierania została wstrzymana. Utwory dostępne do przesłuchania za pomocą odtwarzaczy flashowych można pobrać z http://auralnetwork.com/wp-content/uploads/2010/02/
Troszkę byłem ostatnio nieobecny lecz w tym czasie wytworzyłem kilka ciekawych pomysłów. Pod wpływem fascynacji Gwiezdnymi Wrotami rozpocząłem pracę nad grą internetową! Całość chcę oprzeć na technologiach dostępnych w HTML5. Użyję dodatkowo troszkę xHTML-a (głównie chodzi mi o SVG). Przygotujcie się na serię artykułów na temat obiektu Canvas, obsługi połączeń w php, pamięci podręcznej, pamięci współdzielonej itp. ponieważ planuję każdy etap produkcji opisać na blogu.
(więcej…)
Pracuję aktualnie nad oskryptowaniem, które zostanie użyte na stronie mojego przyjaciela(http://szescian.pl/). Sęk w tym, że jego bujna wyobraźnia wygenerowała coś, z czym mogę mieć niemałe problemy. Mówiąc krótko: dużo matematyki oraz sporo generowania wielokątów. Postanowiłem, że użyję do tego celu technologii canvas. Mając chwilę czasu chciałbym się z wami podzielić kilkoma fajnymi technikami. O rysowaniu wielokątów napiszę innym razem. Dzisiaj chciałbym pokazać wam coś co dla wielu prawdopodobnie wydawałoby się niemożliwe
. Spróbujemy przekonwertować, piksel po pikselu, obrazy za pomocą JavaScript.
(więcej…)
Dzisiaj w nocy postanowiłem poprawić kilka błędów, na które skarżyli się czytelnicy. Przede wszystkim zmieniłem krój na Helvetica. Stary dołączany do strony ważył 640kb, a tekst był podobno nieczytelny pod systemami z rodziny Windows. Zmieniłem też sposób działania menu na górze strony. Teraz obrazki widoczne po najechaniu są wczytywane razem z pozostałymi więc zniknął efekt znikania grafiki i oczekiwania na pobranie się nowej(szczególnie to było widoczne na maszynach ze słabym łączem internetowym). Poprawiłem rozmieszczanie komentarzy, porzuciłem miary w pikselach(teraz używam em) oraz odświeżyłem kod CSS. Usunąłem także kropki wokół linków w Firefoxie. Strona waży około 650kb mniej niż wcześniej. Również ilość wczytywanych plików zmalała o 5 więc całość powinna działać troszkę szybciej.
Ostatnio cierpię na brak pieniędzy, a chciałem uruchomić nowy projekt. Wiąże się to jednak z wynajęciem grafika więc dodałem przycisk „Wesprzyj blog“ widoczny po prawej stronie. Jeśli sądzisz, że moje biblioteki są przydatne, to co piszę ma sens a twoja wiedza się dzięki moim artykułom poszerza kliknij. Nie oczekuję dużych wpłat. 1zł to też sporo. Postaram się zrobić pasek postępu pokazujący ile pieniędzy zebrałem, a ile jeszcze potrzebuję do realizacji pewnych rzeczy. Dzisiaj przysiądę jeszcze do CSS3. Pomyślę w jaki sposób mógłbym urozmaicić stronę na przeglądarkach obsługujących animacje CSS(ewentualnie użyję jQuery).
I na koniec pytanie dotyczące treści blogu. Kontynuować temat bezpieczeństwa, czy napisać coś na temat CSS/SVG/JS? Pisać na temat nowych rzeczy dostępnych w CSS3 czy opisywać dobre zwyczaje tworzenia styli. Czekam na wasze opinie
.
Zająłem się ostatnio w analizą konfiguracji PHP oraz sprawdzaniem w jakich okolicznościach jest możliwe dołączenie lub podglądanie plików php znajdujących się na serwerze. W kilku artykułach postaram się wyjaścić większość znanych mi technik. Rozpocznę od dosyć prostych i oczywistych, a w kolejnych częściach będę podnosił poprzeczkę usprawniając konfigurację serwera. Dzisiaj zaprezentuję na czym polega atak LFI(Local File Inclusion) polegający na uruchamianiu pliku dostępnego na serwerze.
(więcej…)
Różne przeglądarki w różny sposób zarządzają historią. Firefox domyślnie przechowuje ją przez 90 dni, Opera i IE około 20–30 a Chrome w nieskończoność. Czy twoja historia przeglądarki jest bezpieczna? Niestety nie do końca. Czy może ją podglądać twórca strony, na którą wchodzisz? W pewnym sensie tak. Dzisiaj przedstawię sposób w jaki sposób sprawdzić czy użytkownik odwiedzał jakąś stronę.
Planowałem kontynuować dzisiaj temat związany z bezpieczeństwem stron internetowych — a dokładniej „podglądaniu“ historii użytkownika odwiedzającego naszą stronę, jednak dowiedziałem się, że Westwood Studio udostępniło kilka swoich gier całkowicie za darmo. Co więcej, nie ma ograniczeń dotyczących lokalizacji(kilka gier było dostępnych tylko dla ludzi z USA). Do pobrania są trzy gry:
Sądząc po testach na winehq.org powinny działać całkiem sprawnie pod Linuksem. Wszystkie są dostępne pod adresem: http://www.commandandconquer.com/classic
(więcej…)
Ostatnio pracowałem nad pewnym projektem wraz z innym(„troszkę“ mniej doświadczonym) programistą. Starałem się przymykać oko na wiele jego błędów(niepotrzebne zmienne, brak obiektowości itp.) jednak jeden był niewybaczalny — brak filtracji danych przychodzących w zapytaniach SQL. Dzisiaj postaram się wytłumaczyć dlaczego to jest tak bardzo ważne pokazując jak haker w prosty sposób może wykraść loginy i hasła użytkowników ze słabo zabezpieczonej witryny.
(więcej…)
Przez ostatnich kilka tygodni zacząłem interesować się hackingiem bezpieczeństwem stron internetowych. Postanowiłem więc napisać co nieco na temat zabezpieczania stron przed takimi atakami jak np. SQL Injection, XSS. Pokażę równiez metody podglądania kodu źródłowego, lub uruchamiania własnego kodu php na stronach o słabych zabezpieczeniach lub złej konfiguracji serwera. Dzisiaj natomiast w luźny sposób opiszę co to ClickJacking.
Rozpocznijmy od małej gry, którą napisałem przy użyciu jQuery na potrzeby tego artykułu. Polega ona na bardzo szybkim klikaniu w pojawiający się czerwony prostokąt. Dasz radę? Zagraj!
(więcej…)