<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Blog Tomasza Wrony - blog webmasterski, IT, naukowy.</title>
	<atom:link href="http://wronatomasz.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://wronatomasz.wordpress.com</link>
	<description>Kodzę, więc jestem.</description>
	<lastBuildDate>Wed, 06 Apr 2011 13:29:24 +0000</lastBuildDate>
	<language>pl</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='wronatomasz.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Blog Tomasza Wrony - blog webmasterski, IT, naukowy.</title>
		<link>http://wronatomasz.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://wronatomasz.wordpress.com/osd.xml" title="Blog Tomasza Wrony - blog webmasterski, IT, naukowy." />
	<atom:link rel='hub' href='http://wronatomasz.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Wprowadzenie do ORM. Część I.</title>
		<link>http://wronatomasz.wordpress.com/2011/04/06/wprowadzenie-do-orm-czesc-i/</link>
		<comments>http://wronatomasz.wordpress.com/2011/04/06/wprowadzenie-do-orm-czesc-i/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 13:29:24 +0000</pubDate>
		<dc:creator>Tomasz Wrona</dc:creator>
				<category><![CDATA[Kohana]]></category>
		<category><![CDATA[Webmasterstwo]]></category>

		<guid isPermaLink="false">http://wronatomasz.wordpress.com/?p=57</guid>
		<description><![CDATA[Na początek kilka zdań o tym co to takiego w ogóle jest. ORM (ang. Object-Relational Mapping) to z angielskiego mapowanie obiektowo-relacyjne. Główną ideą tego wzorca jest projektowanie aplikacji w taki sposób, aby operacje z bazą danych (np.) można było przedstawić w postaci obiektów. Postaram się wytłumaczyć to trochę łopatologicznie. Załóżmy, że mamy dwie tabele w [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wronatomasz.wordpress.com&amp;blog=13876593&amp;post=57&amp;subd=wronatomasz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Na początek kilka zdań o tym co to takiego w ogóle jest.</p>
<p>ORM (ang. Object-Relational Mapping) to z angielskiego mapowanie obiektowo-relacyjne. Główną ideą tego wzorca jest projektowanie aplikacji w taki sposób, aby operacje z bazą danych (np.) można było przedstawić w postaci obiektów. Postaram się wytłumaczyć to trochę łopatologicznie.</p>
<p>Załóżmy, że mamy dwie tabele w bazie danych &#8211; posts i users. Pierwsza przechowuje nasze wpisy w jakimś systemie, a druga &#8211;   użytkowników tego systemu. Ich struktura jest następująca:</p>
<blockquote><p>`posts`<br />
id INT(11) NOT NULL AI PRIMARY,<br />
user_id INT(11) NOT NULL,<br />
title VARCHAR(255),<br />
content TEXT,<br />
date INT(11),</p></blockquote>
<p>oraz</p>
<blockquote><p>`users`<br />
id INT(11) NOT NULL AI PRIMARY,<br />
username VARCHAR(16),<br />
password VARCHAR(128),<br />
email VARCHAR(128)</p></blockquote>
<p>Dzięki zastosowaniu ORM do korzystania z tak utworzonych tabel możemy po krótkiej konfiguracji eksploatować następujący kod:</p>
<p><pre class="brush: php;">
&lt;?php
$post = $post-&gt;find(2);
$post-&gt;title = 'Poprawiony tytuł!';
$post-&gt;content = nl2br($post-&gt;content);
$post-&gt;save();
echo $post-&gt;user-&gt;username;
?&gt;
</pre></p>
<p>Powyższy przykład przedstawia oba słowa klucze w nazwie ORM &#8211; obiekt i relacja. Obiekt, bo możemy korzystać z pól rekordu jakbyśmy korzystali z klasy, a relacja, bo możemy korzystać z tabel z którymi dana tabela się łączy w bardzo prosty sposób.</p>
<p>To tyle tytułem wstępu. Warto dodać, że stosowanie ORM znacznie upraszcza poziom zapytań do bazy na rzecz ich ilości. Z mojego doświadczenie mogę napisać, że dzięki temu zabiegowi zyskujemy trochę na wydajności.<br />
W drugiej części znajdzie się już gotowy poradnik &#8211; jak przenieść to na Kohana Framework.</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wronatomasz.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wronatomasz.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wronatomasz.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wronatomasz.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wronatomasz.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wronatomasz.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wronatomasz.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wronatomasz.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wronatomasz.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wronatomasz.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wronatomasz.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wronatomasz.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wronatomasz.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wronatomasz.wordpress.com/57/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wronatomasz.wordpress.com&amp;blog=13876593&amp;post=57&amp;subd=wronatomasz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wronatomasz.wordpress.com/2011/04/06/wprowadzenie-do-orm-czesc-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e56f44455d032e1a5e5d4fde4d0516d3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wronatomasz</media:title>
		</media:content>
	</item>
		<item>
		<title>Użycie bufora do odwleczenia wysłania nagłówków do przeglądarki.</title>
		<link>http://wronatomasz.wordpress.com/2010/05/26/uzycie-bufora-do-odwleczenia-wyslania-naglowkow-do-przegladarki/</link>
		<comments>http://wronatomasz.wordpress.com/2010/05/26/uzycie-bufora-do-odwleczenia-wyslania-naglowkow-do-przegladarki/#comments</comments>
		<pubDate>Wed, 26 May 2010 14:18:29 +0000</pubDate>
		<dc:creator>Tomasz Wrona</dc:creator>
				<category><![CDATA[Webmasterstwo]]></category>

		<guid isPermaLink="false">http://wronatomasz.wordpress.com/?p=9</guid>
		<description><![CDATA[Często w Internecie spotykam ludzi, którzy mają pewien problem z PHP. Przeważnie brzmi on następująco: Warning: Cannot modify header information &#8211; headers already sent by (output started at ścieżka do pliku:linia kodu) in ścieżka do pliku on line linia kodu Gdyby go przetłumaczyć z języka angielskiego na polski to uzyskalibyśmy coś takiego: Uwaga: Nie można [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wronatomasz.wordpress.com&amp;blog=13876593&amp;post=9&amp;subd=wronatomasz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Często w Internecie spotykam ludzi, którzy mają pewien problem z PHP. Przeważnie brzmi on następująco:</p>
<blockquote><p>Warning: Cannot modify header information &#8211; headers already sent by  (output started at ścieżka do pliku:linia kodu) in ścieżka do pliku  on line linia kodu</p></blockquote>
<p>Gdyby go przetłumaczyć z języka angielskiego na polski to uzyskalibyśmy coś takiego:</p>
<blockquote><p>Uwaga: Nie można zmodyfikować informacji nagłówkowych &#8211; nagłówki zostały już wysłane przez ([...]) w [...]</p></blockquote>
<p>Można z tego wywnioskować, że skrypt wyrzuca błąd, ponieważ każesz mu zmodyfikować coś, czym już nie może dysponować &#8211; tzw. nagłówkami. Możecie spytać &#8211; a co to właściwie są te nagłówki? Według <a href="http://pl.wikipedia.org/wiki/Lista_nag%C5%82%C3%B3wk%C3%B3w_HTTP" target="_blank">Cioci Wikipedii</a> są to &#8222;wszelkie komendy używane do komunikacji między przeglądarką a serwerem WWW&#8221;. Mówiąc prościej &#8211; w nagłówkach zawarte są wszelkie informacje przesyłane przez serwer do przeglądarki, takie jak na przykład: język strony, typ MIME, informacje o ciasteczkach, etc.</p>
<p>Wracając do naszego problemu: aby mu zaradzić, należy w pewien sposób oszukać serwer i poczekać z wysłaniem nagłówków do czasu, kiedy skrypt zostanie do końca przetworzony.<br />
Dokonamy tego, poprzez dodanie <strong>na samym początku skryptu</strong> takiej linijki kodu:</p>
<p><pre class="brush: php;">

&lt;?php
ob_start(); // void ob_start([string callback_function])
?&gt;

</pre></p>
<p>Otworzy ona bufor i będzie w nim zapisywać dane dopóki nie odnajdzie jednej z komend służącej do zamknięcia go. Taką funkcją jest na przykład:</p>
<p><pre class="brush: php;">

&lt;?php
ob_end_flush(); // void ob_end_flush()
?&gt;

</pre></p>
<p>Dzięki tej <em>&#8222;sztuczce&#8221;</em> możemy spokojnie bawić się w kodzie takimi funkcjami jak <em>&#8222;setcookie&#8221;</em>, <em>&#8222;header&#8221;</em>, czy <em>&#8222;session_start&#8221;</em>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wronatomasz.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wronatomasz.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wronatomasz.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wronatomasz.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wronatomasz.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wronatomasz.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wronatomasz.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wronatomasz.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wronatomasz.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wronatomasz.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wronatomasz.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wronatomasz.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wronatomasz.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wronatomasz.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wronatomasz.wordpress.com&amp;blog=13876593&amp;post=9&amp;subd=wronatomasz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wronatomasz.wordpress.com/2010/05/26/uzycie-bufora-do-odwleczenia-wyslania-naglowkow-do-przegladarki/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e56f44455d032e1a5e5d4fde4d0516d3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wronatomasz</media:title>
		</media:content>
	</item>
	</channel>
</rss>
