<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>nobigwords.ntxt.net</title>
	<atom:link href="http://nobigwords.ntxt.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://nobigwords.ntxt.net</link>
	<description>not too big words not only about web</description>
	<lastBuildDate>Thu, 29 Jul 2010 12:57:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Market Data Perspective</title>
		<link>http://nobigwords.ntxt.net/2010/07/29/market-data-perspective/</link>
		<comments>http://nobigwords.ntxt.net/2010/07/29/market-data-perspective/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 11:05:39 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[3d]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[ntxt.net]]></category>
		<category><![CDATA[rynek]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[ask]]></category>
		<category><![CDATA[backtesting]]></category>
		<category><![CDATA[bid]]></category>
		<category><![CDATA[charts]]></category>
		<category><![CDATA[data visualisation]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[information visualisation]]></category>
		<category><![CDATA[investing]]></category>
		<category><![CDATA[kdb+]]></category>
		<category><![CDATA[market data]]></category>
		<category><![CDATA[market replay]]></category>
		<category><![CDATA[nagler]]></category>
		<category><![CDATA[order book]]></category>
		<category><![CDATA[orders]]></category>
		<category><![CDATA[q]]></category>
		<category><![CDATA[q language]]></category>
		<category><![CDATA[strategy]]></category>
		<category><![CDATA[symagon]]></category>
		<category><![CDATA[transactions]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=279</guid>
		<description><![CDATA[Here is the first post in English, as its target is perhaps a bit wider than for my usual gibberish. The nine month now work for Symagon GmBH (subsidiary of Nagler &#038; Company) has its fruit. Or even a few. The first and what took the most effort is a Flex GUI for investment strategy [...]]]></description>
			<content:encoded><![CDATA[<p><i>Here is the first post in English, as its target is perhaps a bit wider than for my usual gibberish.</i></p>
<p>
The nine month now work for <a href="http://www.symagon.com/">Symagon GmBH</a> (subsidiary of Nagler &#038; Company) has its fruit. Or even a few. The first and what took the most effort is a Flex GUI for <strong>investment strategy backtesting</strong> and <strong>market data review</strong>. This was done with Rafał Sytek from Symagon. Backend is <a href="http://kx.com/Products/kdb+.php">kdb+, a vector-oriented,  fast database</a> which I know little about ;) and a little <a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/">Java/Blaze DS</a> middleware. The second is a <strong>3D visualisation tool for <a href="http://en.wikipedia.org/wiki/Order_book">order book</a> series.</strong> The 3D tool is only a little &#8216;Flexish&#8217;. The main 3D component is a pure Actionscript thing, with layers, 3D-2D and back transformations, etc. And here is what I find cool enough to show off.
</p>
<div id="attachment_283" class="wp-caption aligncenter" style="width: 160px"><a href="http://nobigwords.ntxt.net/wp-content/uploads/2010/07/011_block_view.jpg"><img src="http://nobigwords.ntxt.net/wp-content/uploads/2010/07/011_block_view-150x150.jpg" alt="This type of visualisation is simpler and closer to the common chart." title="Block view of the order books." width="150" height="150" class="size-thumbnail wp-image-283" /></a><p class="wp-caption-text">This type of visualisation is simpler and closer to the common chart.</p></div>
<div id="attachment_282" class="wp-caption aligncenter" style="width: 160px"><a href="http://nobigwords.ntxt.net/wp-content/uploads/2010/07/010_compare_ask_bid.jpg"><img src="http://nobigwords.ntxt.net/wp-content/uploads/2010/07/010_compare_ask_bid-150x150.jpg" alt="The plane beneath the chosen order book helps you compare bid and ask sides." title="The plane beneath the chosen order book helps you compare bid and ask sides." width="150" height="150" class="size-thumbnail wp-image-282" /></a><p class="wp-caption-text">The plane beneath the chosen order book helps you compare bid and ask sides.</p></div>
<div id="attachment_281" class="wp-caption aligncenter" style="width: 160px"><a href="http://nobigwords.ntxt.net/wp-content/uploads/2010/07/009_highlight_order.jpg"><img src="http://nobigwords.ntxt.net/wp-content/uploads/2010/07/009_highlight_order-150x150.jpg" alt="Clicking on a order book strip gets you to the details of single orders." title="Clicking on a order book strip gets you to the details of single orders." width="150" height="150" class="size-thumbnail wp-image-281" /></a><p class="wp-caption-text">Clicking on a order book strip gets you to the details of single orders.</p></div>
<div id="attachment_280" class="wp-caption aligncenter" style="width: 160px"><a href="http://nobigwords.ntxt.net/wp-content/uploads/2010/07/005_many_orderbooks.jpg"><img src="http://nobigwords.ntxt.net/wp-content/uploads/2010/07/005_many_orderbooks-150x150.jpg" alt="Almost a hundred of order books visualised as 3d slope" title="Almost a hundred of order books in a row" width="150" height="150" class="size-thumbnail wp-image-280" /></a><p class="wp-caption-text">Almost a hundred of order books in a row</p></div>
<p>
An order book is a snapshot of a market, with (almost) all buy and sell offers for a single financial instrument. I pictured a series of order books as a sloped river bank, with the transaction at water&#8217;s level. The ground above is a cumulated size of ask orders beginning from the transaction. The green part is going deeper as the bid orders cumulate. Time axis is horizontal, and Y-axis shows price levels. I believe this visualisation gives a lot more information in a simple manner. Now looking forward to the expert opinion&#8230; see what is coming.
</p>
<h3>Backtesting GUI</h3>
<p>
This was a good lesson. Series renderers, chart extensions, live scrolling, zooming, syncing between the charts show the real flex guts. Sometimes I felt like writing it from the scratch myself&#8230; It was not anything about Flex itself, rather my understanding the complexity of its components. As it turned out, it was usually better to study a bit more the originals rather than implementing one&#8217;s own solutions. Some of the comps developed at the beginning look completely naive and weird now. The motto of future Flex chart works is:</p>
<blockquote><p>ChartElement class is essential to almost all you.</p></blockquote>
<p>And the big application for testing investment strategies looks like this:
</p>
<div id="attachment_288" class="wp-caption aligncenter" style="width: 310px"><a href="http://nobigwords.ntxt.net/wp-content/uploads/2010/07/backtesting_GUI.jpg"><img src="http://nobigwords.ntxt.net/wp-content/uploads/2010/07/backtesting_GUI-300x168.jpg" alt="Adobe AIR/Flex frontend of an application for testing investment strategies" title="Adobe AIR/Flex frontend of an application for testing investment strategies" width="300" height="168" class="size-medium wp-image-288" /></a><p class="wp-caption-text">Adobe AIR/Flex frontend of an application for testing investment strategies</p></div>
No Tag]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2010/07/29/market-data-perspective/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wyspy Kanaryjskie, ale tylko w obrazkach</title>
		<link>http://nobigwords.ntxt.net/2010/03/24/wyspy-kanaryjskie-ale-tylko-w-obrazkach/</link>
		<comments>http://nobigwords.ntxt.net/2010/03/24/wyspy-kanaryjskie-ale-tylko-w-obrazkach/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 20:45:01 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[ntxt.net]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[reklama]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[druk]]></category>
		<category><![CDATA[DTP]]></category>
		<category><![CDATA[grafika]]></category>
		<category><![CDATA[katalog]]></category>
		<category><![CDATA[oferty turystyczne]]></category>
		<category><![CDATA[praca]]></category>
		<category><![CDATA[profitravel]]></category>
		<category><![CDATA[projekt]]></category>
		<category><![CDATA[skład]]></category>
		<category><![CDATA[wyspy kanaryjskie]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=274</guid>
		<description><![CDATA[Skończyliśmy z Asią projekt katalogu wakacyjnego. Właściwie już dawno, ale ostatnie poprawki podsyłaliśmy jeszcze niedawno. Przy okazji zmieniłem zdanie o Wyspach, wcześniej sądziłem, że to czysto turystyczne, nudne, kurortowo-hotelowe okolice do lansu. Nieprawda, ale na razie nie sprawdzimy. Projekt dziecko rządzi. No Tag]]></description>
			<content:encoded><![CDATA[<p>Skończyliśmy z Asią projekt katalogu wakacyjnego. Właściwie już dawno, ale ostatnie poprawki podsyłaliśmy jeszcze niedawno. Przy okazji zmieniłem zdanie o Wyspach, wcześniej sądziłem, że to czysto turystyczne, nudne, kurortowo-hotelowe okolice do lansu. Nieprawda, ale na razie nie sprawdzimy. Projekt <i>dziecko </i> rządzi.<br />
<div id="attachment_275" class="wp-caption aligncenter" style="width: 630px"><a href="http://nobigwords.ntxt.net/wp-content/uploads/2010/03/ntxt_profitravel_katalog.jpg"><img src="http://nobigwords.ntxt.net/wp-content/uploads/2010/03/ntxt_profitravel_katalog.jpg" alt="Przykładowa rozkładówka katalogu &quot;Wyspy Kanaryjskie&quot; dla Profitravel" title="ntxt_profitravel_katalog" width="620" height="438" class="size-full wp-image-275" /></a><p class="wp-caption-text">Przykładowa rozkładówka katalogu Wyspy Kanaryjskie dla Profitravel. Zdjęcia od Zleceniodawcy i z Fotolia.com.</p></div></p>
No Tag]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2010/03/24/wyspy-kanaryjskie-ale-tylko-w-obrazkach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amsterdam 2008</title>
		<link>http://nobigwords.ntxt.net/2010/03/24/amsterdam-2008/</link>
		<comments>http://nobigwords.ntxt.net/2010/03/24/amsterdam-2008/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 19:48:08 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[życie]]></category>
		<category><![CDATA[Amsterdam]]></category>
		<category><![CDATA[foto]]></category>
		<category><![CDATA[fotografie]]></category>
		<category><![CDATA[grafika]]></category>
		<category><![CDATA[miasto]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=273</guid>
		<description><![CDATA[Ot, wspomnieniowo. No Tag]]></description>
			<content:encoded><![CDATA[<p>Ot, wspomnieniowo.<br />
<div id="attachment_32" class="wp-caption aligncenter" style="width: 630px"><a href="http://nobigwords.ntxt.net/wp-content/uploads/2008/08/img_8327.jpg"><img src="http://nobigwords.ntxt.net/wp-content/uploads/2008/08/img_8327.jpg" alt="" title="Grafika miejska" width="620" height="283" class="size-full wp-image-32" /></a><p class="wp-caption-text">Przystanki, znaki, to wszystko jakoś wypełnia Amsterdam nienachalnie.</p></div><br />
<div id="attachment_33" class="wp-caption aligncenter" style="width: 630px"><a href="http://nobigwords.ntxt.net/wp-content/uploads/2008/08/img_8808.jpg"><img src="http://nobigwords.ntxt.net/wp-content/uploads/2008/08/img_8808.jpg" alt="" title="rowery w Amsterdamie" width="620" height="243" class="size-full wp-image-33" /></a><p class="wp-caption-text">Poziomość i wszędobylskie bicykle. Amsterdam.</p></div></p>
No Tag]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2010/03/24/amsterdam-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tropmy czyli śledzik vel mousetracking</title>
		<link>http://nobigwords.ntxt.net/2010/03/24/tropmy-czyli-sledzik-vel-mousetracking/</link>
		<comments>http://nobigwords.ntxt.net/2010/03/24/tropmy-czyli-sledzik-vel-mousetracking/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 08:54:26 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[analiza]]></category>
		<category><![CDATA[eyetracking]]></category>
		<category><![CDATA[mouse tracking]]></category>
		<category><![CDATA[projektowanie stron]]></category>
		<category><![CDATA[statystyki www]]></category>
		<category><![CDATA[supersklepy.pl]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[web analytics]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[webtracking]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=269</guid>
		<description><![CDATA[Właśnie uruchomiliśmy, w zepsole supersklepy.pl, rzecz do analityki usability i efektywności stron. Na razie, przez małe zamieszanie, pod tymczasowym adresem, docelowy to http://tropmy.net (i dodatkowo tropmy.com i tropmy.pl). Badanie polega na śledzeniu ruchów myszki/kursora, nakładaniu wielu takich śladów i prezentacji wyników. Początek to trzy rodzaje wizualizacji danych: ślady, czyli strona pomazana jak dworcowa ściana, kliknięcia, [...]]]></description>
			<content:encoded><![CDATA[<p>Właśnie uruchomiliśmy, w zepsole <a title="Galeria Najlepszych Sklepów Internetowych supersklepy.pl" href="http://supersklepy.pl" target="_blank">supersklepy.pl</a>, rzecz do <a title="Tropmy.net - mouse tracking and web analytics" href="http://tropmy.net" target="_blank">analityki usability</a> i efektywności stron. <del datetime="2010-04-11T06:27:03+00:00">Na razie, przez małe zamieszanie, pod tymczasowym adresem</del>, docelowy to http://tropmy.net (i dodatkowo tropmy.com i tropmy.pl). Badanie polega na śledzeniu ruchów myszki/kursora, nakładaniu wielu takich śladów i prezentacji wyników. Początek to trzy rodzaje wizualizacji danych:</p>
<ul>
<li>ślady, czyli strona pomazana jak dworcowa ściana,</li>
<li>kliknięcia, czyli dropsy w kolorowej polewie</li>
<li>mapy uwagi (heatmapy), czyli tęcza w kałuży</li>
</ul>
<p>Całość dostępna w wersji demo za darmo, wersja płatna w drodze, podobnie jak rozbudowa. Próbujemy na swój sposób, a jeśli się da to lepiej, zrobić to co np. robi np. <a title="Web Analytics" href="http://clicktale.com" target="_blank">clicktale.com</a>.</p>

<a href='http://nobigwords.ntxt.net/2010/03/24/tropmy-czyli-sledzik-vel-mousetracking/tropmy_net_heatmap/' title='tropmy_net_heatmap'><img width="150" height="150" src="http://nobigwords.ntxt.net/wp-content/uploads/2010/03/tropmy_net_heatmap-150x150.jpg" class="attachment-thumbnail" alt="tropmy_net_heatmap" title="tropmy_net_heatmap" /></a>
<a href='http://nobigwords.ntxt.net/2010/03/24/tropmy-czyli-sledzik-vel-mousetracking/tropmy_net_mouse_tracking/' title='tropmy_net_mouse_tracking'><img width="150" height="150" src="http://nobigwords.ntxt.net/wp-content/uploads/2010/03/tropmy_net_mouse_tracking-150x150.jpg" class="attachment-thumbnail" alt="tropmy_net_mouse_tracking" title="tropmy_net_mouse_tracking" /></a>

No Tag]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2010/03/24/tropmy-czyli-sledzik-vel-mousetracking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>hosting, porównanie subiektywne</title>
		<link>http://nobigwords.ntxt.net/2010/03/23/hosting-porownanie-subiektywne/</link>
		<comments>http://nobigwords.ntxt.net/2010/03/23/hosting-porownanie-subiektywne/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 22:34:27 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[rynek]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[życie]]></category>
		<category><![CDATA[3306]]></category>
		<category><![CDATA[dmkproject.pl]]></category>
		<category><![CDATA[dostęp]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[home.pl]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[kei.pl]]></category>
		<category><![CDATA[nazwa.pl]]></category>
		<category><![CDATA[ograniczenia]]></category>
		<category><![CDATA[opinia]]></category>
		<category><![CDATA[poddomena]]></category>
		<category><![CDATA[porównanie hostingów]]></category>
		<category><![CDATA[serwery]]></category>
		<category><![CDATA[subdomena]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=268</guid>
		<description><![CDATA[Mam do czynienia z home.pl, kei.pl, nazwa.pl i dmkproject.pl. Każda z tych firm ma swoje zalety i upierdliwości, o których ciężko przeczytać na stronach z ofertą. Nie mam zamiaru porównywać po kolei każdego parametru, to ma być tylko lista rzeczy, które zauważyłem przy specyficznych okazjach. Pewnie jeszcze nie raz będę edytował tego posta, na razie [...]]]></description>
			<content:encoded><![CDATA[<p>Mam do czynienia z <a title="strona home.pl" href="http://home.pl" target="_blank">home.pl</a>, <a title="strona kei.pl" href="http://kei.pl" target="_blank">kei.pl</a>, <a title="strona nazwa.pl" href="http://nazwa.pl" target="_blank">nazwa.pl</a> i <a title="strona DMK Project" href="http://dmkproject.pl" target="_blank">dmkproject.pl</a>. Każda z tych firm ma swoje zalety i upierdliwości, o których ciężko przeczytać na stronach z ofertą. Nie mam zamiaru porównywać po kolei każdego parametru, to ma być tylko lista rzeczy, które zauważyłem przy specyficznych okazjach. Pewnie jeszcze nie raz będę edytował tego posta, na razie kilka drobiazgów. Gdyby coś się zmieniło, albo jeśli wiesz o podobnych sprawach, będę wdzięczny za info w komentarzu albo e-mailu.</p>
<h2>kei.pl</h2>
<ul>
<li>Ma opcję dodania subdomeny przekierowanej na dowolne publiczne IP. Mnie przydało się to do postawienia hostów deweloperskich pod domeną główną (hosting Kei), ale na innej maszynie (Internet DSL TP SA).</li>
<li>Dziwny limit liczby plików. Nie pamiętam dokładnie jaki, ale konto, niezależnie od pojemności w GB, transferu, mieści tylko określoną liczbę plików. Potem przestaje przyjmować je na FTP, sygnalizując błędy. Ograniczenie to nie jest nigdzie opisane, można dowiedzieć się o nim z infolinii, albo ? co bardziej bolesne ? kopiując serwis bogaty w obrazki&#8230;</li>
<li>Fajna rzecz: możliwość bezpośredniego połączenia się przez port 3306 z serwerem MySQL, bez pośrednictwa PhpMyAdmin (jest również).</li>
</ul>
<h2>home.pl</h2>
<ul>
<li>Nazwy skrzynek pocztowych dotyczą wszystkich domen w ramach konta. Np. mając domenę <em>sklep.pl</em> i <em>biuro.com</em> na jednym koncie home.pl, pocztę nadaną na <em>info@sklep.pl</em> mogę odebrać równie dobrze pod <em>info@biuro.com</em>. To nie musi być problem, ale może.</li>
<li>Limit liczby plików również się pojawia, a wynosi 500 000. Jednak tu wcześniej otrzymujemy maila z ostrzeżeniem i prośbą o &#8216;uporządkowanie&#8217;. Jest też oferta serwera dedykowanego, co wydaje się na miejscu. Jedno, co mi się nie podoba, to powołanie się na ogólny punkt regulaminu zamiast określenie tego jasno w umowie: <i>&#8220;Zwracamy uwagę, że regulamin home.pl w punkcie 16 określa, iż<br />
korzystanie z serwera współdzielonego nie może naruszać integralności<br />
systemu informatycznego home.pl, co w tym przypadku może mieć miejsce.&#8221;</i><small> cytat z maila od home.pl, 2010-03-25</small></li>
</ul>
No Tag]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2010/03/23/hosting-porownanie-subiektywne/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BPH, poprzednio GE Money Bank</title>
		<link>http://nobigwords.ntxt.net/2010/02/24/bph-poprzednio-ge-money-bank/</link>
		<comments>http://nobigwords.ntxt.net/2010/02/24/bph-poprzednio-ge-money-bank/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 12:40:14 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[bezpieczeństwo]]></category>
		<category><![CDATA[rynek]]></category>
		<category><![CDATA[życie]]></category>
		<category><![CDATA[bank BPH]]></category>
		<category><![CDATA[banki]]></category>
		<category><![CDATA[BPH]]></category>
		<category><![CDATA[call center]]></category>
		<category><![CDATA[GE Money]]></category>
		<category><![CDATA[obsługa klienta]]></category>
		<category><![CDATA[opinie]]></category>
		<category><![CDATA[telefon]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=267</guid>
		<description><![CDATA[Oto post z serii narzekań, bo ostatnio potrzebuję silniejszego bodźca, żeby znaleźć chwilę na pisanie. Zadzwonił telefon. Komórkowy, ale niestety nie wiadomo kto dzwoni &#8211; bo numer zastrzeżony. Smutny pan mówi, że dzwoni z banku BPH, wcześniej GE Money i pyta o moją datę urodzenia. Ja pytam, po co dzwoni i skąd mam wiedzieć że [...]]]></description>
			<content:encoded><![CDATA[<p>Oto post z serii narzekań, bo ostatnio potrzebuję silniejszego bodźca, żeby znaleźć chwilę na pisanie. Zadzwonił telefon. Komórkowy, ale niestety nie wiadomo kto dzwoni &#8211; bo numer zastrzeżony. Smutny pan mówi, że dzwoni z banku BPH, wcześniej GE Money i pyta o moją datę urodzenia. Ja pytam, po co dzwoni i skąd mam wiedzieć że podawanie daty urodzenia ma sens. On na to, że nie może mi powiedzieć, dopóki nie podam daty&#8230; i tak koło się zamknęło, a procedura zabezpieczająca zabezpieczyła się sama przed sobą.</p>
<p>Następnym razem wyślijcie maila, będzie taniej.</p>
No Tag]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2010/02/24/bph-poprzednio-ge-money-bank/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>polityka bezpieczeństwa home.pl</title>
		<link>http://nobigwords.ntxt.net/2010/02/08/polityka-bezpieczenstwa-homepl/</link>
		<comments>http://nobigwords.ntxt.net/2010/02/08/polityka-bezpieczenstwa-homepl/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 21:29:44 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[bezpieczeństwo]]></category>
		<category><![CDATA[3306]]></category>
		<category><![CDATA[baza danych]]></category>
		<category><![CDATA[home.pl]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[połączenie]]></category>
		<category><![CDATA[port 3306]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[zablokowany]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=266</guid>
		<description><![CDATA[Robiąc &#8220;w internecie&#8221; spotyka się człowiek z hostingiem. No karma taka, nie da się bez hostingu żyć i kropka. Przeżyłem więc już doświadczenia z DMKProject (było fajne, ale wyniosło się do USA i ma długi czas pinga), z nazwa.pl (jedno konto FTP), kei.pl (straszny panel administracyjny), wreszcie home.pl (nie można mieć dwóch osobnych skrzynek pocztowych [...]]]></description>
			<content:encoded><![CDATA[<p>Robiąc &#8220;w internecie&#8221; spotyka się człowiek z hostingiem. No karma taka, nie da się bez hostingu żyć i kropka. Przeżyłem więc już doświadczenia z DMKProject (było fajne, ale wyniosło się do USA i ma długi czas pinga), z nazwa.pl (jedno konto FTP), kei.pl (straszny panel administracyjny), wreszcie home.pl (nie można mieć dwóch osobnych skrzynek pocztowych o tej samej nazwie &#8211; np. biuro@ &#8211; w obrębie jednego konta dla dwóch domen). Każda z tych ofert ma swoje wady i zalety. Zalety są w sumie podobne &#8211; każda z nich zwykle szybko, fachowo i pozytywnie reagowała na moje pytania i prośby. Jednak ostatnio home.pl trochę mnie zdziwiło.</p>
<p>Dla jednej ze stron potrzebowaliśmy połączenia bezpośredniego dla MySQL, na porcie 3306, do synchronizacji bazy z lokalną w biurze. Działało. Aż pewnego dnia admin home.pl stwierdził duży ruch na tym porcie z naszego adresu. Zablokował więc ten ruch &#8220;ze względów bezpieczeństwa&#8221;. Co ciekawe, nadal można się połączyć z dowolnego innego IP. Z mojego punktu widzenia zablokowany został adres najbardziej uprawniony do generowania ruchu, a pozostawiono otwarte połączenie z resztą świata, pełną złoczyńców i pedofilów&#8230; ;-) Teraz więc synchronizacja odbywa się z laptopa przez neostradę, a sens operacji pozostaje dla mnie tajemnicą.</p>
No Tag]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2010/02/08/polityka-bezpieczenstwa-homepl/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>porównywanie baz MySQL w PHP</title>
		<link>http://nobigwords.ntxt.net/2009/09/26/porownywanie-baz-mysql-w-php/</link>
		<comments>http://nobigwords.ntxt.net/2009/09/26/porownywanie-baz-mysql-w-php/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 18:26:32 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[bazy danych]]></category>
		<category><![CDATA[compare]]></category>
		<category><![CDATA[compare database]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database diff]]></category>
		<category><![CDATA[dbdiff]]></category>
		<category><![CDATA[diff]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[synchronizacja]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=264</guid>
		<description><![CDATA[Często przy pracy nad aplikacjami z bazą SQL zdarza się sytuacja, kiedy baza &#8216;deweloperska&#8217; uległa nieudokumentowanym dokładnie zmianom, i wreszcie trzeba je wdrożyć w wersji produkcyjnej. Oczywiście lepiej byłoby prowadzić dziennik zmian :) Kiedy jednak już jest za późno, przydaje się poniższy skrypt do porównywania baz. Wychwytuje on różnice na poziomie definicji tabel i pól, [...]]]></description>
			<content:encoded><![CDATA[<p>Często przy pracy nad aplikacjami z bazą SQL zdarza się sytuacja, kiedy baza &#8216;deweloperska&#8217; uległa nieudokumentowanym dokładnie zmianom, i wreszcie trzeba je wdrożyć w wersji produkcyjnej. Oczywiście lepiej byłoby prowadzić dziennik zmian :) Kiedy jednak już jest za późno, przydaje się poniższy skrypt do porównywania baz. Wychwytuje on różnice na poziomie definicji tabel i pól, proponując stosowne polecenia typu CREATE, ALTER, itp. Propozycje te nie są doskonałe, trzeba zwracać uwagę zwłaszcza na klucze i wartości domyślne, ale na pewno ułatwia synchronizację.</p>
<p>Skrypt napisany na podstawie <a href="http://adamyoung.net/MySQL-Database-Diff-Script">MySQL Database Diff Script</a>, ale znacznie rozszerzony i zmodyfikowany. Enjoy! :)</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>html<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>head<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>style<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">.</span>deleted<span style="color: #009900;">&#123;</span>
	text<span style="color: #339933;">-</span>decoration<span style="color: #339933;">:</span>line<span style="color: #339933;">-</span>through<span style="color: #339933;">;</span>
	color<span style="color: #339933;">:</span>red<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">.</span>added<span style="color: #009900;">&#123;</span>
	color<span style="color: #339933;">:</span>green<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">&lt;/</span>style<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>head<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>body<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span> ?php
<span style="color: #009933; font-style: italic;">/**
 * original by Adam Young http://adamyoung.net/
 * modified and extended 2009-09-26 by ptrk http://nobigwords.ntxt.net/ 
 * 
 */</span>
<span style="color: #000088;">$src_host</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$src_user</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'root'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$src_pass</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$src_db</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'baza32_superskl_emisja'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$dst_host</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$dst_user</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'root'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$dst_pass</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$dst_db</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'baza32_superskl'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$src</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_connect</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$src_host</span><span style="color: #339933;">,</span> <span style="color: #000088;">$src_user</span><span style="color: #339933;">,</span> <span style="color: #000088;">$src_pass</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">mysql_select_db</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$src_db</span><span style="color: #339933;">,</span> <span style="color: #000088;">$src</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Could not find/USE source database: <span style="color: #006699; font-weight: bold;">{$src_db}</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$src_tables</span> <span style="color: #339933;">=</span> getTables<span style="color: #009900;">&#40;</span><span style="color: #000088;">$src</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #000088;">$dst</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_connect</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dst_host</span><span style="color: #339933;">,</span> <span style="color: #000088;">$dst_user</span><span style="color: #339933;">,</span> <span style="color: #000088;">$dst_pass</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">mysql_select_db</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dst_db</span><span style="color: #339933;">,</span> <span style="color: #000088;">$dst</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Could not find/USE destination database: <span style="color: #006699; font-weight: bold;">{$dst_db}</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$dst_tables</span> <span style="color: #339933;">=</span> getTables<span style="color: #009900;">&#40;</span><span style="color: #000088;">$dst</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$src_tables</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$t</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$table</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$found</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dst_tables</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$t</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$dst_table</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$dst_tables</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$t</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$dst_table</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$table</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$diff</span> <span style="color: #339933;">=</span> compareDefinitions<span style="color: #009900;">&#40;</span><span style="color: #000088;">$table</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">definition</span><span style="color: #339933;">,</span> <span style="color: #000088;">$dst_table</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">definition</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$diff</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">{$table-&gt;name}</span>&lt;br /&gt;&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;b&gt;<span style="color: #006699; font-weight: bold;">{$table-&gt;name}</span> is different&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&quot;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$alters</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$diff</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$col</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$info</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
					<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;li&gt;<span style="color: #006699; font-weight: bold;">$col</span> : &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'info'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;&lt;/li&gt;&quot;</span><span style="color: #339933;">;</span>
					<span style="color: #000088;">$alters</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;alter table `&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$dst_table</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;` &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'alter'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
				<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;/ul&gt;'</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;gt;pre&amp;lt;&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$alters</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot; &amp;gt;/pre&amp;lt;&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dst_tables</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$found</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;span class='deleted'&gt;<span style="color: #006699; font-weight: bold;">{$table-&gt;name}</span> &lt;/span&gt;&lt;br /&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;gt;pre&amp;lt;<span style="color: #006699; font-weight: bold;">{$table-&gt;create}</span>&amp;gt;/pre&amp;lt;&lt;br /&gt;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> getTables<span style="color: #009900;">&#40;</span><span style="color: #000088;">$link</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$rsrc</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'SHOW TABLES'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$link</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$tables</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_fetch_row</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$rsrc</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$table</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> table<span style="color: #009900;">&#40;</span>
			<span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
			getTableDef<span style="color: #009900;">&#40;</span><span style="color: #000088;">$link</span><span style="color: #339933;">,</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
			getTableCreate<span style="color: #009900;">&#40;</span><span style="color: #000088;">$link</span><span style="color: #339933;">,</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$tables</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$table</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$tables</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> getTableDef<span style="color: #009900;">&#40;</span><span style="color: #000088;">$link</span><span style="color: #339933;">,</span> <span style="color: #000088;">$table</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$rsrc</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;DESCRIBE `<span style="color: #006699; font-weight: bold;">{$table}</span>`&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_fetch_row</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$rsrc</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #990000;">list</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #339933;">,</span> <span style="color: #000088;">$type</span><span style="color: #339933;">,</span> <span style="color: #000088;">$null</span><span style="color: #339933;">,</span> <span style="color: #000088;">$key</span><span style="color: #339933;">,</span> <span style="color: #000088;">$default</span><span style="color: #339933;">,</span> <span style="color: #000088;">$extra</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$name</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$type</span><span style="color: #339933;">,</span> <span style="color: #000088;">$null</span><span style="color: #339933;">,</span> <span style="color: #000088;">$key</span><span style="color: #339933;">,</span> <span style="color: #000088;">$default</span><span style="color: #339933;">,</span> <span style="color: #000088;">$extra</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> getTableCreate<span style="color: #009900;">&#40;</span><span style="color: #000088;">$link</span><span style="color: #339933;">,</span> <span style="color: #000088;">$table</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$rsrc</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SHOW CREATE TABLE `<span style="color: #006699; font-weight: bold;">{$table}</span>`&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_fetch_row</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$rsrc</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> table <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$name</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$definition</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$create</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">function</span> table<span style="color: #009900;">&#40;</span><span style="color: #000088;">$name</span><span style="color: #339933;">,</span> <span style="color: #000088;">$def</span><span style="color: #339933;">,</span> <span style="color: #000088;">$create</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$name</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">definition</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$def</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">create</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$create</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> compareDefinitions<span style="color: #009900;">&#40;</span><span style="color: #000088;">$defA</span><span style="color: #339933;">,</span> <span style="color: #000088;">$defB</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$defA</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$col</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$colDefA</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$defB</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$col</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$col</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'info'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&lt;span class='deleted'&gt;deleted &lt;/span&gt;&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$col</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'alter'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;drop column `&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$col</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;`&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">','</span><span style="color: #339933;">,</span><span style="color: #000088;">$colDefA</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">','</span><span style="color: #339933;">,</span><span style="color: #000088;">$defB</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$col</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
				<span style="color: #990000;">list</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$typeA</span><span style="color: #339933;">,</span> <span style="color: #000088;">$nullA</span><span style="color: #339933;">,</span> <span style="color: #000088;">$keyA</span><span style="color: #339933;">,</span> <span style="color: #000088;">$defaultA</span><span style="color: #339933;">,</span> <span style="color: #000088;">$extraA</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$colDefA</span><span style="color: #339933;">;</span>
				<span style="color: #990000;">list</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$typeB</span><span style="color: #339933;">,</span> <span style="color: #000088;">$nullB</span><span style="color: #339933;">,</span> <span style="color: #000088;">$keyB</span><span style="color: #339933;">,</span> <span style="color: #000088;">$defaultB</span><span style="color: #339933;">,</span> <span style="color: #000088;">$extraB</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$defB</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$col</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$info</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$typeA</span> <span style="color: #339933;">!=</span> <span style="color: #000088;">$typeB</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$info</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;different type <span style="color: #006699; font-weight: bold;">$typeA</span>/<span style="color: #006699; font-weight: bold;">$typeB</span>, &quot;</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$nullA</span> <span style="color: #339933;">!=</span> <span style="color: #000088;">$nullB</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$info</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;null <span style="color: #006699; font-weight: bold;">$nullA</span>/<span style="color: #006699; font-weight: bold;">$nullB</span>, &quot;</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$keyA</span> <span style="color: #339933;">!=</span> <span style="color: #000088;">$keyB</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$info</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;key: <span style="color: #006699; font-weight: bold;">$keyA</span>/<span style="color: #006699; font-weight: bold;">$keyB</span>, &quot;</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$defaultA</span> <span style="color: #339933;">!=</span> <span style="color: #000088;">$defaultB</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$info</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;default: <span style="color: #006699; font-weight: bold;">$defaultA</span>/<span style="color: #006699; font-weight: bold;">$defaultB</span>, &quot;</span><span style="color: #339933;">;</span>
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$extraA</span> <span style="color: #339933;">!=</span> <span style="color: #000088;">$extraB</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$info</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;extra: <span style="color: #006699; font-weight: bold;">$extraA</span>/<span style="color: #006699; font-weight: bold;">$extraB</span>, &quot;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$col</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'info'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$info</span><span style="color: #339933;">,</span><span style="color: #0000ff;">', '</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$col</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'alter'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span>	<span style="color: #0000ff;">&quot;change `<span style="color: #006699; font-weight: bold;">$col</span>` `<span style="color: #006699; font-weight: bold;">$col</span>` <span style="color: #006699; font-weight: bold;">$typeA</span> &quot;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$col</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'alter'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.=</span>	<span style="color: #009900;">&#40;</span><span style="color: #000088;">$defaultA</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span> ? <span style="color: #0000ff;">''</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;default '<span style="color: #006699; font-weight: bold;">$defaultA</span>' &quot;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$col</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'alter'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.=</span>	<span style="color: #009900;">&#40;</span><span style="color: #000088;">$nullA</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'NO'</span><span style="color: #009900;">&#41;</span> ? <span style="color: #0000ff;">'NOT NULL '</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$col</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'alter'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.=</span>	<span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$extraA</span> &quot;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #009900;">&#125;</span>
			<span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$defB</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$col</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$defB</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$colB</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$colDefB</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #990000;">list</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$typeB</span><span style="color: #339933;">,</span> <span style="color: #000088;">$nullB</span><span style="color: #339933;">,</span> <span style="color: #000088;">$keyB</span><span style="color: #339933;">,</span> <span style="color: #000088;">$defaultB</span><span style="color: #339933;">,</span> <span style="color: #000088;">$extraB</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$colDefB</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$colB</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'info'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&lt;span class='added'&gt;added&lt;/span&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$result</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$colB</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'alter'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;add `<span style="color: #006699; font-weight: bold;">$colB</span>` <span style="color: #006699; font-weight: bold;">$typeB</span> &quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> errors<span style="color: #009900;">&#40;</span><span style="color: #000088;">$link</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #990000;">mysql_errno</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$link</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">mysql_error</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$link</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #339933;">&lt;/</span>body<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>html<span style="color: #339933;">&gt;</span></pre></div></div>

No Tag]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2009/09/26/porownywanie-baz-mysql-w-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bankujesz-kupujesz w kompletowaniu</title>
		<link>http://nobigwords.ntxt.net/2009/09/14/bankujesz-kupujesz-w-kompletowaniu/</link>
		<comments>http://nobigwords.ntxt.net/2009/09/14/bankujesz-kupujesz-w-kompletowaniu/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 15:42:01 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[reklama]]></category>
		<category><![CDATA[rynek]]></category>
		<category><![CDATA[życie]]></category>
		<category><![CDATA[bankujesz]]></category>
		<category><![CDATA[bankujesz-kupujesz]]></category>
		<category><![CDATA[ceneo]]></category>
		<category><![CDATA[dostawa]]></category>
		<category><![CDATA[ING]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[kupujesz]]></category>
		<category><![CDATA[mini notebook]]></category>
		<category><![CDATA[netbook]]></category>
		<category><![CDATA[samsung n310]]></category>
		<category><![CDATA[sklep online]]></category>
		<category><![CDATA[vobis]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=261</guid>
		<description><![CDATA[Tatę skusił netbook Samsunga, dostępny na bankujesz-kupujesz.pl banku ING. Zamówiliśmy. Zapłaciliśmy. Było taniej, nawet sporo taniej. (vobis: 1999 zł, ceneo od 1568 zł, na b-k: 1349 zł). Czekamy. Jedenasty dzień, mimo opatrzenia produktu terminem siedmiodniowym, czekamy. Nie ma żadnej wiadomości. Numer referencyjny zamówienia: #.... Data złożenia 2009-09-03 11:57:06 Razem do zapłaty 1 377,20 zł Adres [...]]]></description>
			<content:encoded><![CDATA[<p>Tatę skusił netbook Samsunga, dostępny na bankujesz-kupujesz.pl banku ING. Zamówiliśmy. Zapłaciliśmy. Było taniej, nawet sporo taniej. (<a title="Netbook Samsung N310 w vobis.pl" href="http://www.vobis.pl/oferta/mininotebooki/10_i_wieksze/876199_samsung_n310_10_1_intel_atom.aspx">vobis: 1999 zł</a>, <a title="Netbook Samsung N310 w ceneo.pl" href="http://www.ceneo.pl/2545489">ceneo od 1568 zł</a>, <a title="Netbook Samsung N310 w bankujesz-kupujesz.pl" href="http://www.bankujesz-kupujesz.pl/katalog/produkt/1302">na b-k: 1349 zł</a>). Czekamy. Jedenasty dzień, mimo opatrzenia produktu terminem siedmiodniowym, czekamy. Nie ma żadnej wiadomości.</p>
<pre>
Numer referencyjny zamówienia: #....
Data złożenia 2009-09-03 11:57:06
Razem do zapłaty 1 377,20 zł
Adres dostawy:...
Status zamówienia: kompletowane
Ostatnia zmiana statusu: 2009-09-04 08:03:15
Opis statusu zamówienia:
</pre>
<p>Jak ja lubię te marketingowe okrągłe zdania: W bankujesz-kupujesz produkty dostępne są łatwo, szybko i bezpiecznie <a href="http://www.bankujesz-kupujesz.pl/katalog/dokument/tytul/jak_kupowa_">[tutaj]</a>.</p>
<p>Już <a href="http://nobigwords.ntxt.net/2008/04/20/ing-bank-slaski-promocja-bankujesz-kupujesz-i-manipulacja/" title="bankujesz kupujesz i manipulacja">pisałem o tym programie</a> i dalej uważam, że pomysł jest fajny, ale komunikacja szwankuje. Dużo gorsze zdanie mają uczestnicy <a href="http://www.biznesforum.pl/bankujesz-kupujesz-vt30077.html">biznesforum.pl bankujesz-kupujesz</a>.</p>
<p><b>[2009-09-17]</b> Laptop dotarł. Jest fajny, ale ze strony banku ani słowa przeprosin czy wyjaśnienia. Kilka dni wcześniej dzwoniliśmy z pytaniem, co się dzieje. Uzyskaliśmy trafną, jak się okazało, przepowiednię, ale bez zażenowania związanego ze zwłoką. Na e-mail dotarł list potwierdzający realizację zamówienia. Wydaje mi się, że ważniejsze są e-maile ostrzegające i wyjaśniające PRZED pojawieniem się faktów, niż te stwierdzające <i>status quo</i>. Od banku wymagam więcej niż od sklepu założonego przez pana Wiesia.</p>
No Tag]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2009/09/14/bankujesz-kupujesz-w-kompletowaniu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>puścić coś w tle</title>
		<link>http://nobigwords.ntxt.net/2009/08/27/puscic-cos-w-tle/</link>
		<comments>http://nobigwords.ntxt.net/2009/08/27/puscic-cos-w-tle/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 10:26:26 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[życie]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[cmd]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[monitorowanie]]></category>
		<category><![CDATA[portal]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[skrypt]]></category>
		<category><![CDATA[start]]></category>
		<category><![CDATA[tle]]></category>
		<category><![CDATA[tło]]></category>
		<category><![CDATA[uruchomić]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=260</guid>
		<description><![CDATA[Chcę móc uruchomić proces w tle za pomocą przeglądarki. Docelowo wszystko będzie działać na linkuksie, ale do testów przydałoby się to mieć u siebie. W linkuksie wiem. costam &#038; uruchamia proces w tle, potem fajnie mogę sobie zarządzać jobs . Ale ja chcę w Windows. Windows Vista, żeby nie było niedomówień. Wywołanie komendy przez exec [...]]]></description>
			<content:encoded><![CDATA[<p>Chcę móc uruchomić proces w tle za pomocą przeglądarki. Docelowo wszystko będzie działać na linkuksie, ale do testów przydałoby się to mieć u siebie. W linkuksie wiem.
<pre>costam &#038;</pre>
<p> uruchamia proces w tle, potem fajnie mogę sobie zarządzać
<pre>jobs</pre>
<p>. Ale ja chcę w Windows. Windows Vista, żeby nie było niedomówień. Wywołanie komendy przez <i>exec</i> działa, ale czeka na zakończenie, a nie o to chodzi. Proces ma działać długo, a ja tylko chcę monitorować jego stan, a nie zamulać Firefoksa.</p>
<pre>
exec("start /b c:/sciezka_do_php/php.exe C:/sciezka_do_skryptu_procesu/bgproces.php > test.txt");
</pre>
<p>Próbowałem też uruchomić jakiś batch (costam.bat), który z kolei miałby uruchomić skrypt PHP, ale to też nie zadziałało &#8211; cały czas przeglądarka czekała na zakończenie całego procesu. Rozwiązanie jest takie, że w PHP na Windows trzeba użyć klasy COM, czyli windowsowych mechanizmów OLE (Object Linking and Embedding). Wygląda to tak:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
<span style="color: #666666; font-style: italic;">/*
 * skrypt do uruchomienia w tle skryptTla.php
 */</span>
<span style="color: #000088;">$fname</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'c:/log.html'</span><span style="color: #339933;">;</span> 
<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span><span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #990000;">sleep</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">file_put_contents</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fname</span><span style="color: #339933;">,</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'H:i:s'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&lt;br/&gt;'</span><span style="color: #339933;">,</span> FILE_APPEND<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #990000;">file_put_contents</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fname</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'&lt;hr /&gt;'</span><span style="color: #339933;">,</span> FILE_APPEND<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
<span style="color: #009933; font-style: italic;">/**
 * skrypt widziany przez przeglądarkę
 */</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;uruchamiam &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'H:i:s '</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PWD'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
  	<span style="color: #666666; font-style: italic;">// $cmd = '....';</span>
    <span style="color: #000088;">$nullResult</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;php <span style="color: #006699; font-weight: bold;">$cmd</span> &gt; /dev/null &amp;&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'sciezka_do_php/php.exe sciezkaSkryptuDoUruchomieniaWTle/skryptTla.php'</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$ws</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> COM<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;WScript.Shell&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$oExec</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$ws</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Run</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cmd</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot; koniec &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'H:i:s '</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot; OK &quot;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

No Tag]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2009/08/27/puscic-cos-w-tle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
