<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>MWL Blog</title>
	<atom:link href="http://lenkowski.creaweb.pl/feed/" rel="self" type="application/rss+xml" />
	<link>http://lenkowski.creaweb.pl</link>
	<description>Marcin Lenkowski Personal Blog</description>
	<pubDate>Sat, 31 Oct 2009 11:58:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>Blog pod nowym adresem!!</title>
		<link>http://lenkowski.creaweb.pl/2009/10/31/blog-pod-nowym-adresem/</link>
		<comments>http://lenkowski.creaweb.pl/2009/10/31/blog-pod-nowym-adresem/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 23:30:02 +0000</pubDate>
		<dc:creator>MWL</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://lenkowski.creaweb.pl/?p=385</guid>
		<description><![CDATA[http://lenkowski.net
przejdź teraz i zapamiętaj!
]]></description>
			<content:encoded><![CDATA[<h1>http://lenkowski.net</h1>
<p><a href="http://lenkowski.net">przejdź teraz i zapamiętaj!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://lenkowski.creaweb.pl/2009/10/31/blog-pod-nowym-adresem/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Niebawem przejście na nowy adres</title>
		<link>http://lenkowski.creaweb.pl/2009/10/28/niebawem-przejscie-na-nowy-adres/</link>
		<comments>http://lenkowski.creaweb.pl/2009/10/28/niebawem-przejscie-na-nowy-adres/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 16:52:34 +0000</pubDate>
		<dc:creator>MWL</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://lenkowski.creaweb.pl/?p=378</guid>
		<description><![CDATA[Witam. Jako że niebawem planuję przejście na nowy adres, chciałbym poprosić was o wyrozumiałość, jeśli po 10 listopada nie moglibyście znaleźć mojego bloga. W każdym razie, nowa domena, jaka będzie reprezentować mój blog to lenkowski.net, jeśli chodzi o hosting nie wiem za bardzo jak rozwiążę ten problem, ale załatwię to w późniejszym czasie. Jak na [...]]]></description>
			<content:encoded><![CDATA[<p>Witam. Jako że niebawem planuję przejście na nowy adres, chciałbym poprosić was o wyrozumiałość, jeśli po 10 listopada nie moglibyście znaleźć mojego bloga. W każdym razie, nowa domena, jaka będzie reprezentować mój blog to lenkowski.net, jeśli chodzi o hosting nie wiem za bardzo jak rozwiążę ten problem, ale załatwię to w późniejszym czasie. Jak na razie proszę czekać, do usłyszenia niebawem.</p>
]]></content:encoded>
			<wfw:commentRss>http://lenkowski.creaweb.pl/2009/10/28/niebawem-przejscie-na-nowy-adres/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Earth do przodu</title>
		<link>http://lenkowski.creaweb.pl/2009/10/25/google-earth-do-przodu/</link>
		<comments>http://lenkowski.creaweb.pl/2009/10/25/google-earth-do-przodu/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 09:42:05 +0000</pubDate>
		<dc:creator>MWL</dc:creator>
		
		<category><![CDATA[projekty]]></category>

		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://lenkowski.creaweb.pl/?p=370</guid>
		<description><![CDATA[Od czasu gdy pisałem o zaletach Google Earth minęło trochę czasu&#8230; Niedawno jednak, google zaprezentowało nowe narzędzie, wspomagające tworzenie map w 3D. Za pomocą zdjęć dostarczanych przez google i odpowiednich brył, możesz wyrysować każdy sfotografowany budynek. Narzędziem tym jest Google Bulding Maker, dostępny na stronie http://sketchup.google.com/3dwh/buildingmaker.html, google, starając się pokazać, jak dobrym rozwiązaniem jest HTML5, [...]]]></description>
			<content:encoded><![CDATA[<p>Od czasu gdy pisałem o zaletach Google Earth minęło trochę czasu&#8230; Niedawno jednak, google zaprezentowało nowe narzędzie, wspomagające tworzenie map w 3D. Za pomocą zdjęć dostarczanych przez google i odpowiednich brył, możesz wyrysować każdy sfotografowany budynek. Narzędziem tym jest <a href="http://sketchup.google.com/3dwh/buildingmaker.html">Google Bulding Maker</a>, dostępny na stronie <a href="http://sketchup.google.com/3dwh/buildingmaker.html">http://sketchup.google.com/3dwh/buildingmaker.html</a>, google, starając się pokazać, jak dobrym rozwiązaniem jest HTML5, w szczególności obiekt Canvas postanowiło zastosować swój plugin, a nie popularnego flasha. Jeśli więc chcemy zająć się nie samym oglądaniem, a budowaniem Warszawy musimy pobrać zalecany przez google plugin. Od czasu poinformowania o programie w Google Earth możemy zobaczyć już praktycznie całą, zbudowaną Warszawę. Nie podoba mi się jednak to iż zapomniano o innych dużych miastach jak Kraków, Wrocław, Poznań&#8230; Nie napiszę o Koszalinie, którego mapy nawet nie można dokładnie obejrzeć. Cóż, wychodzę z założenia że jeśli google zbiera dane, i dysponuje masą serwerów, udostępnienie ich na potrzeby earth&#8217;a w mniejszych miastach, też byłoby możliwe. Zobaczymy jak sytuacja się rozwinie, bo widać że google earth stara się wysoko wejść nie tylko na polski rynek.<br />
<span id="more-370"></span><br />
<object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/zWLbGTpJLOQ&#038;hl=pl&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/zWLbGTpJLOQ&#038;hl=pl&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://lenkowski.creaweb.pl/2009/10/25/google-earth-do-przodu/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Jest dobrze, jest lepiej.</title>
		<link>http://lenkowski.creaweb.pl/2009/10/24/jest-dobrze-jest-lepiej/</link>
		<comments>http://lenkowski.creaweb.pl/2009/10/24/jest-dobrze-jest-lepiej/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 01:13:53 +0000</pubDate>
		<dc:creator>MWL</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Wydarzenia]]></category>

		<guid isPermaLink="false">http://lenkowski.creaweb.pl/?p=362</guid>
		<description><![CDATA[Ostatnio odwiedziłem stronę mojej byłej firmy. Raz odpadłem, raz wróciłem potem jednak stwierdziłem że nikt nie może być wykorzystywany. Dziś, odwiedzając stronę z kontaktem zobaczyłem już nie swoje, lecz nazwisko Gad, nazwisko najlepszego grafika jakiego znam. Nic takiego, mimo to trochę mnie ruszyło. Czy na pewno dobrze zrobiłem? Widzę w opisie, osoby kiedyś mi bliskiej, [...]]]></description>
			<content:encoded><![CDATA[<p>Ostatnio odwiedziłem stronę mojej byłej firmy. Raz odpadłem, raz wróciłem potem jednak stwierdziłem że nikt nie może być wykorzystywany. Dziś, odwiedzając stronę z kontaktem zobaczyłem już nie swoje, lecz nazwisko Gad, nazwisko najlepszego grafika jakiego znam. Nic takiego, mimo to trochę mnie ruszyło. Czy na pewno dobrze zrobiłem? Widzę w opisie, osoby kiedyś mi bliskiej, reklamę nowej strony, rozwija teraz firmę bardziej intensywnie niż kiedy było to robione z moich czasów. Pierwsze o czym pomyślałem to, oj, straciłeś szansę na gruby hajs. Straciłeś wiele, ale czy możesz zyskać więcej? Nie! Tu nie chodzi o pieniądze. Nie one są najważniejsze, to co jest dla człowieka najważniejsze nigdy tak naprawdę nie jest znane. Co cię nie zabije to cię wzmocni. Jak to wygląda z mojej perspektywy dziś? Cóż, właśnie siedzę na hmm, kameralnej imprezie u kumpla. Przed chwilą paliłem cygaro, nic takiego, ale co robił bym gdybym dalej zapierdalał? Gdybym dalej postępował tak jak do niedawna &#8220;nie ograniczaj się, nie zatrzymuj się&#8221;. Piękne słowa, mądre słowa. Owszem, ale czy na pewno mają sens? Mają, ale tylko wtedy gdy je rozumiesz. Chcę więc powiedzieć wszystkim, zastanówcie się co robicie. Nie jesteście niczyimi niewolnikami. Wszystko co robicie powinno przynosić efekty przede wszystkim wam. I jak na tym wyszedłem? Nie siedzisz 10h przed kodem olewając szkołę i twierdząc, wyjebane, przecież firma da mi zarobek i godne życie, a nie przynosi 100zł miesięcznie. I jak jest teraz? Lepsze oceny to nie wszystko, właśnie siedzę na jakiejś tam małej imprezie z kolegami którzy zajęli się graniem w Resident Evil, <a href="http://olejniczak.xaa.pl/">Jogi</a>, <a href="http://blog.ljzz.pl/">Zając</a>, pozdrawiam. Jest przyjemnie, teraz pracuję tylko dla siebie i na siebie. Czy to mądra decyzja? Pewnie straciłem trochę pieniędzy, trochę czasu, ale trzeba wiedzieć kiedy powiedzieć stop. Starczy mi. Rozmowy z ludźmi bliskimi, którzy mówią, robisz źle, nie mogą być odbierane negatywnie. Z nudnego programisty, stałem się w moim mniemaniu młodym przedsiębiorcą, i niedoświadczonym copywrigterem, bardziej ciekawym człowiekiem. Po co to piszę? Chcę powiedzieć Ci że to, o czym myślisz, że będzie na zawsze, że zawsze przynosić będzie Ci zysk i radość życia, szybko zmienić może się w coś w rodzaju wielkiej męczarni. Czasem warto pomyśleć zanim coś zrobisz, nic co robisz nie może działać na Ciebie destruktywnie. Pierdol system, ale przede wszystkim dbaj o siebie i &#8220;nie daj się zrobić w chuj&#8221;. Pozdrawiam wszystkich no-life&#8217;ów, Pan z Cygarem.</p>
<p><span id="more-362"></span></p>
<p><img src="http://ifotos.pl/img/rwreps.JPG" alt="" width="450" height="572" /></p>
<p>A jeśli chodzi o samego bloga, szykuję duże zmiany, niebawem koniec moich farmazonów, zaczynamy poważniejsze blogowanie w nowym miejscu.</p>
]]></content:encoded>
			<wfw:commentRss>http://lenkowski.creaweb.pl/2009/10/24/jest-dobrze-jest-lepiej/feed/</wfw:commentRss>
		</item>
		<item>
		<title>HiperSuperExstra opłacalne lokaty na 8%</title>
		<link>http://lenkowski.creaweb.pl/2009/10/02/hipersuperexstra-oplacalne-lokaty-na-8/</link>
		<comments>http://lenkowski.creaweb.pl/2009/10/02/hipersuperexstra-oplacalne-lokaty-na-8/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 07:54:05 +0000</pubDate>
		<dc:creator>MWL</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[forex]]></category>

		<guid isPermaLink="false">http://lenkowski.creaweb.pl/?p=350</guid>
		<description><![CDATA[Wooow, 8%. Włożę do banku jedyne 5000zł, a dostanę z tego aż 400zł zysku po roku. No właśnie&#8230; Aż? Zastanów się, może ty sam, jesteś w stanie w ciągu jednego dnia 1000% tej sumy? I to bez żadnej, ciężkiej pracy. Nie będę pisał że bez wychodzenia z domu, bo ktoś może uznać że to reklama. [...]]]></description>
			<content:encoded><![CDATA[<p>Wooow, 8%. Włożę do banku jedyne 5000zł, a dostanę z tego aż 400zł zysku po roku. No właśnie&#8230; Aż? Zastanów się, może ty sam, jesteś w stanie w ciągu jednego dnia 1000% tej sumy? I to bez żadnej, ciężkiej pracy. Nie będę pisał że bez wychodzenia z domu, bo ktoś może uznać że to reklama. O czym on w ogóle pisze? No więc piszę o giełdzie, o Forex, w środę założyłem sobie konto na ac-marketers. Możemy zacząć od konta demo, na którym dostajemy 5000$, za które możemy brać pożyczki na zakupy innych walut. W ten sposób można zarobić naprawdę spore pieniądze. Nie jestem na minusie, dziś rano (piątek) mam 150% zysku. Dlatego zastanawiam się kto jeszcze chce zainwestować w 8% lokaty. Na co dzisiaj zbieramy? Na limuzynę czy na rower? Powodzenia. Polecam założyć Ci konto na forex, nie stracisz nic, możesz uczyć się na wersji demo, za darmo, bez prawdziwych pieniędzy. Warto :).</p>
]]></content:encoded>
			<wfw:commentRss>http://lenkowski.creaweb.pl/2009/10/02/hipersuperexstra-oplacalne-lokaty-na-8/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Labolatorium Przeglądarek</title>
		<link>http://lenkowski.creaweb.pl/2009/09/19/labolatorium-przegladarek/</link>
		<comments>http://lenkowski.creaweb.pl/2009/09/19/labolatorium-przegladarek/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 19:20:32 +0000</pubDate>
		<dc:creator>MWL</dc:creator>
		
		<category><![CDATA[Macintosh]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[projekty]]></category>

		<category><![CDATA[xHtml + CSS]]></category>

		<category><![CDATA[apple]]></category>

		<category><![CDATA[mac]]></category>

		<category><![CDATA[programowanie]]></category>

		<guid isPermaLink="false">http://lenkowski.creaweb.pl/?p=335</guid>
		<description><![CDATA[Bardzo dużo webdeveloperów siedzi na systemie Windows tylko i wyłącznie z powodu IE6. Tak, przeglądarka robiąca duże problemy. Adobe spisało się i zaprezentowało perfekcyjne rozwiązanie, które szczególnie przydać się może developerom pracującym na Linuxach i Mac&#8217;ach. Na oba systemy Internet Explorer 6 jest dużym problemem. Browseshot, czyli screenschot z różnych przeglądarek było jednym z niewielu [...]]]></description>
			<content:encoded><![CDATA[<p>Bardzo dużo webdeveloperów siedzi na systemie Windows tylko i wyłącznie z powodu IE6. Tak, przeglądarka robiąca duże problemy. Adobe spisało się i zaprezentowało perfekcyjne rozwiązanie, które szczególnie przydać się może developerom pracującym na Linuxach i Mac&#8217;ach. Na oba systemy Internet Explorer 6 jest dużym problemem. Browseshot, czyli screenschot z różnych przeglądarek było jednym z niewielu rozwiązań, sprawdzających czy strona na pewno działa pod IE. Dziś Adobe prezentuje lepsze rozwiązanie - <a href="http://browserlab.adobe.com">http://browserlab.adobe.com</a> w o wiele szybszym czasie tworzy screenshoty wielu przeglądarek. Jedyne czego potrzebujesz to Adobe ID. Niebawem przygotuję recenzję tego programu, teraz idę dokładniej testować to, wyglądające na perfekcyjne, narzędzie.</p>
]]></content:encoded>
			<wfw:commentRss>http://lenkowski.creaweb.pl/2009/09/19/labolatorium-przegladarek/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Konfiguracja Livebox TP i xBox&#8217;a</title>
		<link>http://lenkowski.creaweb.pl/2009/09/05/livebox_xbox/</link>
		<comments>http://lenkowski.creaweb.pl/2009/09/05/livebox_xbox/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 00:05:07 +0000</pubDate>
		<dc:creator>MWL</dc:creator>
		
		<category><![CDATA[Bez kategorii]]></category>

		<category><![CDATA[xbox]]></category>

		<guid isPermaLink="false">http://lenkowski.creaweb.pl/?p=325</guid>
		<description><![CDATA[Livebox. Dużo ludzi twierdzi że jest słaby i nie warto w niego inwestować. Warto! Jeśli nie ma się za bardzo wyboru. Miałem do wydania ledwie 170zł, śmieszne pieniądze, i za to miałem kupić internet tj. aktywacja ruter i inne tego typu sprawy. Po tym jak spostrzegłem że ceny ruterów są większe niż moja &#8220;kasa&#8221; stwierdziłem [...]]]></description>
			<content:encoded><![CDATA[<p>Livebox. Dużo ludzi twierdzi że jest słaby i nie warto w niego inwestować. Warto! Jeśli nie ma się za bardzo wyboru. Miałem do wydania ledwie 170zł, śmieszne pieniądze, i za to miałem kupić internet tj. aktywacja ruter i inne tego typu sprawy. Po tym jak spostrzegłem że ceny ruterów są większe niż moja &#8220;kasa&#8221; stwierdziłem że warto zainwestować w firmę od której taki ruter otrzymam za darmo. Nie ma jednak tak lekko, telekomunikacja polska nie &#8216;daje&#8217; ruterów, a jedynie wypożycza je. No cóż, zawsze moge pocieszyć się darmową drukarką&#8230; Zaraz zapłacą za nią 1,22!! To nie jest darmowa drukarka!! Oj, źle. No, ale po tym jak już się pośmialiśmy z neostrady czas przejść do meritum tego postu, mianowicie do konfiguracji Livebox&#8217;a pod nietypowymi urządzeniami.</p>
<p><span id="more-325"></span></p>
<p>Każdy, stały czytelnik tego bloga wie doskonale że uwielbiam firmę Apple, a tym samym posiadam MacBooka. Jest to nie typowy sprzęt, więc pierwsze czego się obawiałem to problemy związane z rejestracją usługi neostrady pod moim makiem. Nie było tak jak mi się wydawało, AirPort natyycmiast znalazł mi nową sieć WiFi - neostrada_numerki. Jako hasło wystarczyło podać klucz WEP, który znajduje się na opakowaniu od liveboxa i na samym urządzeniu. Wszystko ładnie pięknie. Odpalam stronę, zgodnie z załączoną instrukcją i podaję adres <a href="http://192.168.1.1/">http://192.168.1.1/</a>, dalej zgodnie z zaleceniami wklepuję super tajne dane - login:admin, hasło:admin. Każdy ma takie same więc jestem ciekawy, czy wykradnięcie sąsiadowi pudełka spowodowałoby CAŁKOWITE przejęcie jego abonamentu. Niezbyt rozważny ruch, nie ważne. Ważne jest to że postępując zgodnie z instrukcją w ciągu kilku chwil wszystko zostało skonfigurowane tak jak trzeba. Wszystko? Ale czy na pewno?</p>
<h1>xBox - konfiguracja z liveboxem</h1>
<p>Jedyny produkt microsoftu stojący u mnie na honorowym miejscu to właśnie xBox. Jeśli mam już działającego neta, czas podłączyć x-pudło do internetu. I&#8230; Zonk! Podłączenie kabla nie przyniosło oczekiwanego rezultatu. Próbuję podać xBoxowi informacje znajdujące się w panelu konfiguracyjnym. Dalej nic. Próbuję to wygooglować. Jest coś, jak zwykle, tylko że nie koniecznie pełne ładu i spokoju. W końcu dzwonię do obsługi klieta microsoft, co mi tam. Ale przyjemnie, od razu wita mnie laska o seksownym głosie, a po chwili bardzo podobna laska o równie seksownym głosie mówi mi że&#8230; xBox Live nie jest wspierany w Polsce. TO jakieś jaja? Czy po prostu microsoft znowu zgapia od apple xD No trudno. Szukam więc dokładnie w necie i co znajduję? Głupie i durne&#8230;</p>
<h2>Rozwiązanie problemu.</h2>
<p>Aby rozwiązać problem dotyczący xboxa należy:</p>
<ol>
<li>Przywrócić ustawienia fabryczne dla połączenia internetowego.</li>
<li>Przejść do panelu konfiguracyjnego (<a href="http://192.168.1.1/">http://192.168.1.1/</a>)</li>
<li>Widzimy tabelę, a w niej na 3 pozycji TV przez ADS. Najprawdopodobniej opcja ta jest włączona. Musimy więc ją wyłączyć. Wystarczy obok napisu kliknąć na modyfikuj.</li>
<li>Po przejściu do modyfikuj zostało nam ostatnie zadanie - wciskamy przycisk wyłącz.</li>
<li>Teraz trzeba poczekać około minuty, wszystko wróci do normy.</li>
<li>Wkładamy kabel ethernet od xBox&#8217;a do portu w kolorze żółtym i testujemy połączenie.</li>
<li>Działa! Dziwne, ale zadziałało i to wszystko.</li>
</ol>
<p>Dzięki za uwagę. Mam nadzieję że rozwiazałem wasz problem, jeśli macie ew. pytania blipujcie na MWL&#8217;a, obok wklejka z blipa <img src='http://lenkowski.creaweb.pl/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p><img title="xBox Logo" src="http://ifotos.pl/img/rraewq.jpg" alt="xBox Logo" width="179" height="178" /></p>
]]></content:encoded>
			<wfw:commentRss>http://lenkowski.creaweb.pl/2009/09/05/livebox_xbox/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Earth, jestem zachwycony.</title>
		<link>http://lenkowski.creaweb.pl/2009/08/21/earth/</link>
		<comments>http://lenkowski.creaweb.pl/2009/08/21/earth/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 15:34:39 +0000</pubDate>
		<dc:creator>MWL</dc:creator>
		
		<category><![CDATA[Wydarzenia]]></category>

		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://lenkowski.creaweb.pl/?p=320</guid>
		<description><![CDATA[Nie dawno temu przeczytałem w CD Action o czymś, co znałem już od dawna, programie Google Earth. Nie podchodziłem jakoś do tego pozytywnie, jednak kiedy zobaczyłem co ten mały program potrafi byłem zdziwiony, a na dzień dzisiejszy ciężko zdziwić mnie byle programem. Od dawna podobały mi się google maps, ale google Earth to coś w [...]]]></description>
			<content:encoded><![CDATA[<p>Nie dawno temu przeczytałem w CD Action o czymś, co znałem już od dawna, programie Google Earth. Nie podchodziłem jakoś do tego pozytywnie, jednak kiedy zobaczyłem co ten mały program potrafi byłem zdziwiony, a na dzień dzisiejszy ciężko zdziwić mnie byle programem. Od dawna podobały mi się google maps, ale google Earth to coś w brew pozorom zupełnie innego. Mapy wykonane w 3D w polsce nie są tak dokładne jak w Ameryce, np. Nowym Jorku, jednak i tak są wykonane a to już coś. W ciągu kilku sekund możesz pobrać informacje na temat nie tylko dowolnej ulicy, miasta czy restauracji, ale także zobaczyć jak wyglądają ważniejsze budynki. Grafika nie powala, ale nie jest to przecież jakiś tam gówniany Crysis. Wszystkim którzy nie testowali jeszcze google maps polecam ich sprawdzenie bo naprawdę warto, w szczególności że program jest udostepniony za darmo. Pobierzemy go z adresu strony producenta - <a href="http://earth.google.com/intl/pl/">http://earth.google.com/intl/pl/</a>. Jedyne co mogę powiedzieć to serdecznei polecam. Na dole zamieszczam screena.</p>
<p><a href="http://ifotos.pl/zobacz/rhwsaa.png"><img src="http://ifotos.pl/img/rhwsaa.png" alt="Google Earth" width="414" height="258" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://lenkowski.creaweb.pl/2009/08/21/earth/feed/</wfw:commentRss>
		</item>
		<item>
		<title>O MVC</title>
		<link>http://lenkowski.creaweb.pl/2009/07/13/mvc/</link>
		<comments>http://lenkowski.creaweb.pl/2009/07/13/mvc/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 13:29:34 +0000</pubDate>
		<dc:creator>MWL</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[programowanie]]></category>

		<guid isPermaLink="false">http://lenkowski.creaweb.pl/?p=305</guid>
		<description><![CDATA[MVC dla początkujących.
Tak, tak jest już bardzo dużo artykułów o tym jak działa model, widok i kontroler. Mimo to żaden z nich nie został dobrze zinterpretowany przeze mnie, i dopiero videocasty z zend framework uświadomiły mi jak to wszystko powinno wyglądać. Tak więc postanowiłem napisać własny, prosty i zrozumiały tutorial. A więc zaczynamy.

MVC, już zapewne [...]]]></description>
			<content:encoded><![CDATA[<p>MVC dla początkujących.</p>
<p>Tak, tak jest już bardzo dużo artykułów o tym jak działa model, widok i kontroler. Mimo to żaden z nich nie został dobrze zinterpretowany przeze mnie, i dopiero videocasty z zend framework uświadomiły mi jak to wszystko powinno wyglądać. Tak więc postanowiłem napisać własny, prosty i zrozumiały tutorial. A więc zaczynamy.</p>
<p><span id="more-305"></span></p>
<p>MVC, już zapewne słyszałeś o tym skrócie, oznacza on &#8220;Model View Controller&#8221; czyli nazwy warstw aplikacji.</p>
<p>Zakładamy że chcemy zrobić aplikację internetową, która będzie służyła do celów szpiegowania ludzi z naszego miasta. Tematyka nie typowa, ale może zainteresować. Podstawową funkcjonalnością naszej aplikacji będzie dodawanie danych na temat ludzi. Jak się teraz do tego zabrać? Najlepszym sposobem było by zaprojektowanie jakiegoś systemu który wywoływał by odpowiednie akcje (w naszym przypadku będzie to tylko dodawanie i wyszukiwanie ludzi). I tu najlepiej sprawdza się Model Widok i Kontroler, czyli filozofia separacji wywoływania zadań, pobierania danych i rysowania interfejsu.</p>
<p>Wytłumaczę na czym polega MVC w teorii.<br />
Model - coś co zwraca nam potrzebne dane i zajmuje się ich wysyłaniem i obróbką. I tak na przykład użyjemy modelu by wyszukać jakieś dane, czy dodać je do źródła danych.<br />
Widok (View - V) - coś co rysuje nam interfejs, w naszym przypadku stronę.<br />
Kontroler (Controller - C) - czyli to co zajmować się będzie tym by aplikacja działała jak trzeba.</p>
<p>Na początek stwórzmy plik index.php o takiej treści</p>
<p>&lt;?php<br />
// definujemy podstawową konfigurację<br />
if(isset($_GET['module'])) $module = strtolower($_GET['module']).&#8217;Controller&#8217;;<br />
else $module = &#8216;indexController&#8217;;</p>
<p>if(isset($_GET['action'])) $action = strtolower($_GET['action']).&#8217;Action&#8217;;<br />
else $action = &#8216;defaultAction&#8217;;</p>
<p>if(!@include_once(&#8217;classes/controllers/&#8217;.$module.&#8217;.php&#8217;))<br />
{<br />
// tutaj możesz zamieścić coś na wypadek nie odnalezienia strony<br />
die(&#8217;Nie odnaleziono strony.&#8217;);<br />
}</p>
<p>$controller = new $module;<br />
if(method_exists($controller, $action)) $controller -&gt; $action();<br />
else die(&#8217;Nie odnaleziono strony.&#8217;);</p>
<p>?&gt;</p>
<p>Mamy przygotowany plik, teraz czas na katalog z klasami. Utwórzmy sobie katalog classes a w nim podkatalogi controllers, models oraz views. W pierwszym z nich zamieszczać będziemy kontrolery które będą pobierały dane z modelu, formowały je odpowiednio i rysowały za pomocą widoków. Jeśli zinterpretujemy kod zrozumiemy że jego zadaniem jest po pierwsze załadowanie odpowiedniej klasy, a po drugie uruchomienie odpowiedniej funkcji (inaczej metody) z instancji naszej klasy jeśli oczywiście ona istnieje.</p>
<p>Zajmijmy się napisaniem naszego pierwszego kontrolera. Nazwijmy go indexController.php i zapiszmy w nim kod naszej nowej klasy. Będzie ona miała za zadanie narysować nagłówek strony, część główną i stopkę strony, oraz wywołanie takich metod z modelu których wymagać będzie nasza aplikacja. Zapiszemy więc taki kod:</p>
<p>&lt;?php<br />
// Tworzymy klasę kontrollera<br />
class indexController<br />
{</p>
<p>public function defaultAction()<br />
{<br />
include(&#8217;classes/views/header.php&#8217;);</p>
<p>echo &#8216;&lt;h1&gt;Witamy w szpegMachina 1.0&lt;/h1&gt;&#8217;;<br />
echo &#8216;<br />
&lt;form action=&#8221;?action=search&#8221; method=&#8221;get&#8221;&gt;<br />
&lt;input type=&#8221;text&#8221; name=&#8221;name&#8221; /&gt;&lt;br /&gt;<br />
&lt;button type=&#8221;submit&#8221;&gt;Szukaj&lt;/button&gt;<br />
&lt;/form&gt;&#8217;;</p>
<p>include(&#8217;classes/views/footer.php&#8217;);<br />
}</p>
<p>}<br />
?&gt;</p>
<p>Napisaliśmy nasz pierwszy kontroler. Ale czy na pewno poprawnie? NIE! Zadaniem kontrolera nie jest wypisywanie danych za pomocą echo tylko łączenie potrzebnych modeli z widokami, nie tak dokładnie, bo przecież wybiera on odpowiednie zadania i sprawdza czasem kilka rzeczy, aczkolwiek nie powinniśmy generować jako tako treści przez controller a realizować to za pomocą widoku. Nasz kod powinien więc wyglądać raczej tak:</p>
<p>&lt;?php<br />
// Tworzymy klasę kontrollera<br />
class indexController<br />
{</p>
<p>public function defaultAction()<br />
{<br />
include(&#8217;classes/views/header.php&#8217;);</p>
<p>include(&#8217;classes/views/index/default.php&#8217;);</p>
<p>include(&#8217;classes/views/footer.php&#8217;);<br />
}</p>
<p>}<br />
?&gt;</p>
<p>Można sobie pomyśleć że nie ma to żadnego znaczenia, jednakże łatwo tu zauważyć po co nam w ogóle potrzebny MVC. Jeśli będziemy w jakikolwiek sposób chcieli zmodyfikować wygląd nie będziemy musieli babrać się w kontrolerze, a tym samym obawiać się że coś spieprzymy. Gotowe nasz pierwszy kontroler został zapisany, a w nim pierwsza jego akcja. Nie użyliśmy w nim modelu, jednak zrobiłem to celowo. Należy zapamiętać że model nie jest niezbędny do kontrolera, używa się go dopiero kiedy potrzebujemy zapisać czy pobrać jakieś dane. Dodamy teraz do naszego kodu metodę addAction, którą będziemy mogli uruchomić za pomocą odwołania get (?action=add).</p>
<p>&lt;?php<br />
&#8230;<br />
public function addAction()<br />
{<br />
// klasycznie dodajemy nagłówek i stopkę<br />
include(&#8217;classes/views/header.php&#8217;);</p>
<p>// jeśli wysłano dane będziemy je dodawać</p>
<p>if(!empty($_POST))<br />
{<br />
// sprawdzamy czy wszystkie dane są wprowadzone<br />
if(!isset($_POST['name']) || !isset($_POST['desc']))<br />
{<br />
// jeśli jest nie tak jak trzeba wypiszemy informację o błędzie<br />
include(&#8217;classes/views/index/error.php&#8217;);<br />
}<br />
else<br />
{<br />
// jest ok więc teraz czas na model<br />
include(&#8217;classes/models/spyModel.php&#8217;);</p>
<p>// mamy już potrzebną nam klasę modelu, teraz instancja<br />
$model = new spyModel();<br />
$model -&gt; add($_POST['name'], $_POST['desc']);<br />
}<br />
}</p>
<p>include(&#8217;classes/views/footer.php&#8217;);<br />
}<br />
&#8230;<br />
?&gt;</p>
<p>No i mamy gotowy kontroler z użytym modelem jeśli jest potrzebny. Czas więc zapisać model, którego użyliśmy.</p>
<p>&lt;?php<br />
class spyModel<br />
{</p>
<p>public function add($name, $desc)<br />
{<br />
// na początek połączymy się z bazą danych<br />
$connect = mysql_connect(&#8217;localhost&#8217;, &#8216;root&#8217;, &#8216;pass&#8217;);</p>
<p>// nie możemy zaomnieć o filtrowaniu danych<br />
$name = mysql_real_escape_string($name);<br />
$desc = mysql_real_escape_string($desc);</p>
<p>// teraz odpowiednie zapytanie<br />
mysql_query(&#8217;&#8230;&#8217;);</p>
<p>// jeśli wystąpił błąd zwrcamy fałsz<br />
if(@mysql_error()) return FALSE<br />
else return TRUE;<br />
}</p>
<p>}<br />
?&gt;</p>
<p>Zrobione. Teraz możemy odwołać się do tego modelu i użyć go w odpowiedniej sytuacji.</p>
<p>Tak właśnie działa MVC. Mamy podział i w dowolnym momencie możemy pozmieniać logikę aplikacji nie psując przy tym innych modułów. Dzięki temu możemy łatwo zarządzać naszą aplikacją. Zastosowany przeze mnie Model Widok Kontroler to najprostsze możliwe rozwiązanie tego wzorca projektowego. Do swoich rozwiązań można oczywiście dodać o wiele bardziej skomplikowane mechanizmy, udostępnić rodziców klasą, tak żeby zbierały różnorakie informacje itd.</p>
<p>Mam nadzieję że mój artykuł był prosty i zrozumiały, a także to że nie będziesz miał już więcej problemów ze zrozumieniem wzorca.</p>
]]></content:encoded>
			<wfw:commentRss>http://lenkowski.creaweb.pl/2009/07/13/mvc/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ku pamięci</title>
		<link>http://lenkowski.creaweb.pl/2009/06/26/ku-pamieci/</link>
		<comments>http://lenkowski.creaweb.pl/2009/06/26/ku-pamieci/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 10:20:16 +0000</pubDate>
		<dc:creator>MWL</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://lenkowski.creaweb.pl/?p=310</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/-tqYUTjQIc0&#038;hl=pl&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-tqYUTjQIc0&#038;hl=pl&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://lenkowski.creaweb.pl/2009/06/26/ku-pamieci/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
