<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>http://bash3r.jogger.pl/</title><link>http://bash3r.jogger.pl/</link><description>Wpisy z dziennika internetowego Jogger, wspomaganego przez Jabbera</description><lastBuildDate>Wed, 22 Feb 2012 19:18:28 +0100</lastBuildDate><generator>JoggerPL</generator><item><title>Update sprzętu</title><link>http://bash3r.jogger.pl/2008/04/04/update-sprzetu/</link><description>Dziś w końcu stałem się szczęśliwym posiadaczem 2GB RAMu do mojego MacBooka :)
Muszę przyznać, że różnica jest duża :)

</description><pubDate>Fri, 04 Apr 2008 18:26:13 +0200</pubDate><guid>http://bash3r.jogger.pl/2008/04/04/update-sprzetu/</guid><category>MacBook</category><category>Sprzęt</category></item><item><title>--cenzura--</title><link>http://bash3r.jogger.pl/2008/03/03/cenzura/</link><description>Czemu powiedzenie komuś co się czuje do tego kogoś jest tak cholernie trudne?
Czy boję się odrzucenia ? - Chyba nie, bo to jest pewne. Więc czego ?
Chyba najbardziej przeraża mnie fakt duszenia tego w sobie i to, że mogę stracić dobrą koleżankę.
Dzięki niej znowu czuję uśmiech mej duszy. Dzięki niej świat się zatrzymuje ... wtedy widzę tylko ją.
Gdybym mógł choć raz ją przytulić ... NIE! TO NIE JEST PARIS HILTON! Z NIĄ BY BYŁO ŁATWIEJ! ... przytulić ją i powiedzieć, że jest śliczna i jak wiele dla mnie znaczy ... jest dla mnie mniej prawdopodobne niż ... eh ... to jest niemożliwe :(
Taki dołujący wpis ... pasuje do mojego nastroju:/
</description><pubDate>Mon, 03 Mar 2008 00:07:51 +0100</pubDate><guid>http://bash3r.jogger.pl/2008/03/03/cenzura/</guid><category>Ogólne</category></item><item><title>...</title><link>http://bash3r.jogger.pl/2008/01/17/bez-tytulu/</link><description>Przed chwilą dowiedziałem się, że moja babcia umarła ...
Najgorsze jest to, że nawet nie mogę pojechać na jej pogrzeb ...
Cierpiała, od 8 lat sparaliżowana po wylewie ... umarła spokojnie, przytulona do swojej córki.
Ech ...
</description><pubDate>Thu, 17 Jan 2008 22:55:32 +0100</pubDate><guid>http://bash3r.jogger.pl/2008/01/17/bez-tytulu/</guid><category>Ogólne</category></item><item><title>Android</title><link>http://bash3r.jogger.pl/2007/11/29/android/</link><description>


</description><pubDate>Thu, 29 Nov 2007 19:46:22 +0100</pubDate><guid>http://bash3r.jogger.pl/2007/11/29/android/</guid><category>Google</category></item><item><title>nasza-klasa.pl</title><link>http://bash3r.jogger.pl/2007/11/29/nasza-klasa-pl/</link><description>Ostatnio utworzyłem sobie konto w serwisie nasza-klasa.pl. Na założeniu konta się skończyło ponieważ jest to chyba najwolniej działająca znana mi strona w sieci :| youtube.com działa już szybciej ;]
Szybkość z jaką działa strona nie była jedynym powodem mojej ucieczki z serwisu ... jak lubię Spone Bob'a tak ich wersji nie lubię :P 
No ale dziś powróciłem, skonfigurowałem konto :) Udało mi się także utworzyć profil mojej obecnej klasy a także zapisać do klasy z gimnazjum :)
Powróciłem gdyż raz kozie śmierć - dziś także utworzyłem konto na blip.pl
Jak zapewne widzicie blipa dodałem także na joggerze :)
Robię się społeczny! :D
</description><pubDate>Thu, 29 Nov 2007 00:00:22 +0100</pubDate><guid>http://bash3r.jogger.pl/2007/11/29/nasza-klasa-pl/</guid><category>Ogólne</category><category>nasza-klasa nasza klasa blip</category></item><item><title>Kręgosłup</title><link>http://bash3r.jogger.pl/2007/11/18/kregoslup/</link><description>Leżę w łóżku praktycznie bez władzy w nogach, co spowodowane jest uciskiem na nerwy i mięśnie jakiejś guli narastającej na końcu mojego kręgosłupa.
Mam zastrzyki, mam akupunkturę, mam świecące indyjskie wstążeczki na uszach (to akurat żart:P) ale nic nie pomaga. Dziś już nawet z łóżka nie mogę się ruszyć samodzielnie - no chyba, że będę się ciągnąć na rękach. Z dnia na dzień jest coraz gorzej a to dopiero 4 dzień.
W szpitalu w Świnoujściu nie mają miejsca - do Szczecina mogą mnie przewieźć tylko karetką ale o tym musi podjąć decyzję jakiś tam lekarz. Ów lekarz będzie dopiero we wtorek.
Do tego czasu dostałem pielęgniarkę do domu. Ma mi niby pomagać - kibelek, masaże, zastrzyki. Kobiete widziałem tylko raz dzisiaj jak przyszła zrobić mi poranny zastrzyk, wieczorny już mi mama robiła.
I tak wygląda polska słóżba zdrowia!
Swoją drogą odczuwam na własnej skórze jak kruche jest życie. Teraz widzę ile rzeczy mogłem zrobić, a których może już nigdy nie będę mógł. A jeśli nie odzyskam władzy w nogach? Mówią, że jak gula na kręgosłupie zniknie to wrócę w 60% do dawnej sprawności. A jeśli się mylą? Jeśli zostanę przywiązany do łóżka do końca mojego życia?
Tragiczny nastrój mnie właśnie naszedł. Jednego dnia żyję a następnego jak warzywo leżę w łóżku i potrzebuję pomocy żeby iść się odlać.
</description><pubDate>Sun, 18 Nov 2007 22:27:42 +0100</pubDate><guid>http://bash3r.jogger.pl/2007/11/18/kregoslup/</guid><category>Ogólne</category></item><item><title>Wpis sponsoruje Kitikat :)</title><link>http://bash3r.jogger.pl/2007/11/18/wpis-sponsoruje-kitikat/</link><description>Osoba, która potrafi zmienić życie z kompletnego dna w coś wyjątkowego :)
Osoba, która w chwilach ciężkich podtrzyma na duchu, poprawi humor :)
Taką osobą jest dla mnie Kitikat (Kamila znana również jako Czapi) :)
Dzisiejszą notkę to właśnie ona sponsoruje:)


</description><pubDate>Sun, 18 Nov 2007 18:32:14 +0100</pubDate><guid>http://bash3r.jogger.pl/2007/11/18/wpis-sponsoruje-kitikat/</guid><category>Ogólne</category><category>kitikat czapi</category></item><item><title>Intro do strony</title><link>http://bash3r.jogger.pl/2007/07/15/intro-do-strony/</link><description>Od dłuższego czasu pracuję nad galerią dla lokalnego fotografika, Przemka Białka.
Dziś zająłem się częścią zwaną 'profesjonalnie' &quot;intro&quot;.
Podstawowe założenia to: czytelność, intuicyjność, rozgałęzienie na trzy części galerii.

Wersja szósta i na całe moje szczęście uznałem ją za ostateczną wygląda tak:

Rzeczą oczywistą są poprawki, gdy tylko rozpocznę składać wszystko w całość ;)
</description><pubDate>Sun, 15 Jul 2007 01:15:51 +0200</pubDate><guid>http://bash3r.jogger.pl/2007/07/15/intro-do-strony/</guid><category>Użyteczność</category><category>Web 2.0</category><category>web2.0 intro fotografik</category></item><item><title>PHP: prosta galeria</title><link>http://bash3r.jogger.pl/2007/07/13/php-prosta-galeria/</link><description>Dziś pomyślałem sobie, że przydałoby się uporządkować zdjęcia na FTP i w tym celu rozpocząłem przeszukiwanie google w poszukiwaniu skryptu jakiejś galerii w PHP4 bez bazy danych i co było najtrudniejsze to w jednym pliku!
Jak się okazało wymogi trudne do zrealizowania a wręcz niemożliwe.

Wpadłem na kolejny genialny pomysł ... czemu by nie napisać własnej ? Tak narodził się pomysł SPG - SimplePHPGallery. Niestety mój niebanalny wymóg jednego pliku okazał się (póki co) z pewnych względów nie osiągalny - otóż galeria musi mieć możliwość oglądania pojedynczego zdjęcia z możliwością przejścia do następnego a na razie galeria ma działać bez JS.

Ogólny spis wymagań:

działanie od razu po wrzuceniu do folderu
maksymalnie dwa pliki
bez większej konfiguracji - najlepiej w ogóle bez
bez bazy danych
możliwość obejrzenia pojedynczego zdjęcia
możliwość przejścia do następnego zdjęcia w widoku pojedynczym


Jak to mam w nawyku najpierw napisałem sobie szkic aplikacji metodą brutusa - byle by działało ;) Pozwala mi to na stworzenie sobie ew. algorytmów, spisu funkcjonalności, sposobu na napisanie potrzebnej mi rzeczy.
Dzięki temu przypomniało mi się o możliwość wysłania linku ze zdjęciem do znajomego.

Pierwszy szkic wygląda naprawdę brutalnie, działa na sesji oraz array_pop(), przez co zdjęcia można obejrzeć tylko raz w jedną stronę potem trzeba znowu odwiedzić plik główny, co nie zmienia faktu iż działa (prawie prawidłowo - problem z indeksami) ;)
Kolejną sprawą jest wysyłanie linku znajomemu jak to osiągnąć jeżeli spis zdjęć jest budowany regularnie w pliku index.php ? Jednym z wyjść jest tworzenie plików .photos lub o podobnych nazwach, jednak ważne jest by nie były widoczne dla użytkownika i nie trzeba było ich wrzucać na serwer. Inne rozwiązanie to podawanie nazwy zdjęcia w URLu, jednak co gdy zmieni się nazwę pliku (choć nazwa to oprócz plików najlepszy pomysł)? To samo tyczy się numerycznego indeksu tablicy - jeśli dodamy zdjęcia lub usuniemy to część tablicy się przesunie więc nasze zdjęcie ma dużą szansę mieć inny indeks. Ukryte pliki wydają się nie najgorszym rozwiązaniem, gdyż w końcu użytkownik nie będzie musiał w nie ingerować.

Dwa pliki wystarczy wrzucić do folderu, gdzie znajdują się zdjęcia dzięki czemu link do galerii może wyglądać następująco http://www.twojadomena.pl/wakacje2007/.

Pliki:
SPG.tar.bz2
SPG.zip

Demo:
Szkic SimplePHPGallery w akcji :)

No i kod:
index.php



        
                SimplePHPGallery
                
        
        
        Slajdy
                
                                
        



photo.php



        
                SimplePHPGallery
                
        
        
                
Następne
                                </description><pubDate>Fri, 13 Jul 2007 00:26:11 +0200</pubDate><guid>http://bash3r.jogger.pl/2007/07/13/php-prosta-galeria/</guid><category>Ogólne</category><category>PHP</category><category>SimplePHPGallery</category><category>Techblog</category><category>PHP Simple Gallery</category></item><item><title>Zend Framework</title><link>http://bash3r.jogger.pl/2007/07/02/zend-framework/</link><description>Dziś oficjalnie Zend udostępnił stabilną wersję swojego frameworka Zend Framework. Do tej pory byłem nastawiony do niego niezbyt chętnie, jednakże skoro jest stabilna wersja to można się zapoznać ... na pewno mi to nie zaszkodzi. Pierwsze spojrzenie na dokumentację i już coś mi wpadło w oko Zend Config. Normalnie zakochałem się w tym narzędziu :) Zobaczymy czy do jakiegoś projektu mi się przyda (o ile wystarczy mi siły na jego poznanie).
</description><pubDate>Mon, 02 Jul 2007 20:38:49 +0200</pubDate><guid>http://bash3r.jogger.pl/2007/07/02/zend-framework/</guid><category>PHP</category></item><item><title>Bum :)</title><link>http://bash3r.jogger.pl/2007/06/24/bum/</link><description>


</description><pubDate>Sun, 24 Jun 2007 11:24:12 +0200</pubDate><guid>http://bash3r.jogger.pl/2007/06/24/bum/</guid><category>Ogólne</category></item><item><title>Japoński tetris :D</title><link>http://bash3r.jogger.pl/2007/06/16/japonski-tetris-d/</link><description>


</description><pubDate>Sat, 16 Jun 2007 20:59:51 +0200</pubDate><guid>http://bash3r.jogger.pl/2007/06/16/japonski-tetris-d/</guid><category>Ogólne</category></item><item><title>Porządki w dzienniku projektów</title><link>http://bash3r.jogger.pl/2007/06/15/porzadki-w-dzienniku-projektow/</link><description>Jako, że zaliczyłem kolejną klasę w szkole postanowiłem uporządkować swój dziennik projektów. Z przerażeniem stwierdzam iż jest w nim 12 pozycji :D Najgorsze jest to, że niektóre z nich zajmą mi sporo czasu a jeszcze przewiduję jutro otrzymanie kolejnego ... rzeź niewiniątek ;]
</description><pubDate>Fri, 15 Jun 2007 21:41:21 +0200</pubDate><guid>http://bash3r.jogger.pl/2007/06/15/porzadki-w-dzienniku-projektow/</guid><category>Praca</category></item><item><title>xbox :)</title><link>http://bash3r.jogger.pl/2007/05/18/xbox/</link><description>
















</description><pubDate>Fri, 18 May 2007 02:26:44 +0200</pubDate><guid>http://bash3r.jogger.pl/2007/05/18/xbox/</guid><category>Ogólne</category></item><item><title>Web 2.0 ... The Machine is Us/ing Us</title><link>http://bash3r.jogger.pl/2007/05/18/web-2-0-the-machine-is-us-ing-us/</link><description>http://www.youtube.com/watch?v=NLlGopyXT_g
</description><pubDate>Fri, 18 May 2007 00:46:57 +0200</pubDate><guid>http://bash3r.jogger.pl/2007/05/18/web-2-0-the-machine-is-us-ing-us/</guid><category>Ogólne</category><category>Web 2.0</category></item><item><title>class DB</title><link>http://bash3r.jogger.pl/2007/05/11/class-db/</link><description>Dziś tak właściwie z nudów napisałem sobie banalną klasę do obsługi bazy danych MySQL.

class DB {
        public function connect($cfg) {
                if (@mysql_connect($cfg['host'], $cfg['user'], $cfg['password'])) {
                        if(@mysql_select_db($cfg['name'])) {
                                return true;
                        } else {
                                DB::error();
                        }
                } else {
                        DB::error();
                }
        }
        
        public function query($sql) {
                $result = @mysql_query($sql);
                if(!$result) {
                        DB::error();
                } else return $result;
        }
        
        public function fassoc($result) {
                $assoc = @mysql_fetch_assoc($result);
                return $assoc;
        }
        
        public function frow($result) {
                $array = @mysql_fetch_array($result);
                return $array;
        }
        
        public function nrows($result) {
                return @mysql_num_rows($result);
        }
        
        public function stat() {
                print mysql_stat();
        }

        function __destruct() {
                if(!mysql_close())
                        DB::error();
                else return true;
        }
        
        private static function error() {
                        $msg = mysql_error();
                print 'Baza danych zwróciła błąd: ' . $msg;
                die();
        }
}

Używanie klasy jest bardzo proste :)


$cfg['db']['host'] = 'localhost';
$cfg['db']['user'] = 'uzytkownik';
$cfg['db']['password'] = 'haslo';
$cfg['db']['name'] = 'nazwa_bazy';
$DB = new DB();
$DB-&gt;connect($cfg['db']); // połączy nas z bazą danych
$sql = &quot;SELECT * FROM tabela&quot;;
$result = $DB-&gt;query($sql); //wyśle zapytanie do bazy
/*
 *wyświetlenie zawartości tabeli
 */
while($row = $DB-&gt;frow($result)) {
        print &quot;ID: &quot; . $row['id'] . &quot; \t &quot; . &quot;Imię i nazwisko: &quot; . $row['name'] . &quot; \n&quot;;
}

</description><pubDate>Fri, 11 May 2007 23:59:33 +0200</pubDate><guid>http://bash3r.jogger.pl/2007/05/11/class-db/</guid><category>PHP</category><category>php mysql db</category></item><item><title>Przesyłanie plików VIA JS (AJAX)</title><link>http://bash3r.jogger.pl/2007/05/07/przesylanie-plikow-via-js-ajax/</link><description>Dziś stanąłem przed nietypowym problemem przesłania pliku (dokładniej zdjęcia) używając do tego AJAXu.
Typowe przesłanie danych z formularza:


JS:
this.addPhoto = function() {
        Notice.show('loader','Zapisuję zdjęcie...',0);
        var xmlHttp = zXmlHttp.createRequest();
        xmlHttp.open('post','addPhoto.ajax.php',true);
        xmlHttp.setRequestHeader(&quot;Content-Type&quot;,&quot;application/x-www-form-urlencoded&quot;)
        xmlHttp.onreadystatechange = function(){
                funkcja_do_obslugi_opowiedzi()
        }
        xmlHttp.send($('addPhotoForm').serialize())
}

HTML:

        Wybierz zdjęcie: 
        
        



... okazało się bez użyteczne. Istnieje możliwość załatwienia tego w podobny sposób ale użytkownik musiałby skonfigurować swoją przeglądarkę tak by obsługiwała metodę przesyłu danych PUT i w dodatku jest tylko Firefox (a jeśli ktoś się połączy przez Operę lub nie daj boże IE?). Jest to totalnie nie praktyczne. Nie poddając się i chcąc obmyślić sposób rozwiązania tego problemu samemu (bez Google) zacząłem zastanawiać się jak to rozwiązali ludzie z Google tworzący Gmail. Przesyłanie załączników odbywa się bez przeładowywania strony a więc jest to AJAX. Rozwiązanie okazało się banalne i jak się dowiedziałem taki był początek obsługi użytkownika n stronach WWW bez ich przeładowywania. Oto kod po modyfikacjach:


HTML:

        Wybierz zdjęcie: 
        
        
        




Jak widać jest to jedynie kod HTML. Zastosowałem metodę ukrytej ramki, do której przekazywane są dane z formularza, tym samym plik addPhoto.ajax.php otrzymuje tablicę $_FILES zawierając dane zdjęcia, wiadomo w tym pliku znajduje się kod odpowiedzialny za weryfikację pliku oraz umieszczenie go w odpowiednim miejscu. Oczywiście przydałoby się jeszcze w jakiś sposób obsłużyć jakieś odpowiedzi typu błąd, przesłano ale nie cały plik, plik za duży, w ogóle nie przesłano pliku, nie zapisano na serwerze itd. Rozwiązań tego problemu jest kilka, ja jednak wybrałem to oparte na plikach. Poprzez JS pobieram plik photo.response, jeśli zawartość się zmieniła to funkcja ją sprawdza, gdy jest to kod błędu wyświetlony zostaje odpowiedni komunikat, natomiast gdy zawartość pliku to '0' inna funkcja JS wysyła do serwera żądanie, serwer zwraca odpowiedź w postaci pliku XML z danymi zdjęć, w JS XML jest przetwarzanyi w końcu zawartość DIV'a ze zdjęciami jest podmieniana na nową. Trochę skomplikowane ale przynajmniej działa. Odpowiedź oczywiście można obsłużyć w inny sposób (baza danych czy jeszcze coś innego), ale plik wydaje mi się najwydajniejszym rozwiązaniem.

</description><pubDate>Mon, 07 May 2007 20:22:35 +0200</pubDate><guid>http://bash3r.jogger.pl/2007/05/07/przesylanie-plikow-via-js-ajax/</guid><category>AJAX</category><category>PHP</category><category>Web 2.0</category></item><item><title>beestudio.pl</title><link>http://bash3r.jogger.pl/2007/05/03/beestudio-pl/</link><description>Właściwie to już od jakiś 2 tygodni ale dopiero teraz postanowiłem się pochwalić (tak przy okazji otwarcia mojego joggera), iż rozpocząłem pracę w agencji interaktywnej beestudio.pl Mam nadzieję, że będzie mi tam dobrze, a przede wszystkim, że dużo się nauczę :) Tak więc trzymać za mnie kciuki :)
</description><pubDate>Thu, 03 May 2007 01:34:50 +0200</pubDate><guid>http://bash3r.jogger.pl/2007/05/03/beestudio-pl/</guid><category>Praca</category></item></channel></rss>
