<?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>webbricks &#187; python</title>
	<atom:link href="http://blog.grzegorzpawlik.com/tag/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.grzegorzpawlik.com</link>
	<description>Doświadczenie, to coś, co zdobywamy tuż po chwili w której było nam potrzebne ...</description>
	<lastBuildDate>Tue, 07 Feb 2012 10:09:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Dobra książka o przyszłości i możliwych zmianach</title>
		<link>http://blog.grzegorzpawlik.com/2010/05/dobra-ksiazka-o-przyszlosci-i-mozliwych-zmianach/</link>
		<comments>http://blog.grzegorzpawlik.com/2010/05/dobra-ksiazka-o-przyszlosci-i-mozliwych-zmianach/#comments</comments>
		<pubDate>Thu, 27 May 2010 15:00:15 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[książki]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[lisp]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.grzegorzpawlik.com/?p=990</guid>
		<description><![CDATA[Zastanawiałeś się kiedyś jaki język jest &#8220;przyszłościowy&#8221;? Nie Ty jeden, na forach i portalach co kilka dni pojawia się podobne pytanie. Czy nauczyć się php? Czy może ruby, albo python? W co zainwestować? Często odpowiedzi są niezadowalające &#8211; możesz dowiedzieć &#8230; <a href="http://blog.grzegorzpawlik.com/2010/05/dobra-ksiazka-o-przyszlosci-i-mozliwych-zmianach/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img alt="" src="http://helion.pl/okladki/326x466/moreja.jpg" title="Więcej niż Java" class="alignright" width="326" height="466" /></p>
<p>Zastanawiałeś się kiedyś jaki język jest &#8220;przyszłościowy&#8221;? Nie Ty jeden, na forach i portalach co kilka dni pojawia się podobne pytanie. Czy nauczyć się php? Czy może ruby, albo python? W co zainwestować? </p>
<p>Często odpowiedzi są niezadowalające &#8211; możesz dowiedzieć się, że jeśli będziesz wybierał język wg spodziewanych przyszłych zarobków, to nie będziesz dobrym programistą. W tym stwierdzeniu jest tylko połowa prawdy. Jeśli zostajesz programistą ze względu na możliwe zarobki możesz nie być tak dobry jak ten, dla którego jest to pasja.<br />
Jeśli jednak już wybrałeś tą ścieżkę i chcesz się nauczyć tej technologii, która jest najbardziej pożądana, a przez to najlepiej płatna &#8211; jest to jak najbardziej rozsądne działanie. Porównałbym go do inwestowania tam, gdzie spodziewamy się największych zysków.</p>
<p>Jeśli stoisz właśnie przed podobnym dylematem chętnie zasugeruję Ci książkę, która może nieco rozjaśnić Ci sytuację. <a href="http://helion.pl/view/4113g/wiecej_niz_java_bruce_a_tate,moreja.htm">&#8220;Więcej niż Java&#8221;</a> nie odpowie Ci na pytanie &#8220;którą droga iść?&#8221;. Ale <strong>rzuci światło na każdą z interesujących ścieżek</strong>, dzięki czemu, być może, łatwiej będzie Ci zdecydować.</p>
<p>Jednocześnie warto mieć w głowie pewne stwierdzenie, które przeczytałem w informatorze uniwersytetu kiedy startowałem na studia. </p>
<blockquote><p>Studia informatyczne nie mają za zadanie nauczyć studentów jakiegokolwiek języka programowania. Mają za zadanie nauczyć ich myślenia, zasad i mechanizmów zachodzących w świecie informatyki, żeby absolwent mógł nauczyć się samodzielnie dowolnej potrzebnej technologii</p></blockquote>
<p>Dlatego nawet jeśli podejmiesz decyzję i okaże się strzałem w dziesiątkę (zastąpi Javę i da Ci wspaniałe zarobki) pamiętaj, że powstaną wspanialsze narzędzia, które prędzej czy później wrzucą z piedestału Twojego wybrańca i kurę znoszącą złote jajka w jednym. </p>
<p>Bądź na bieżąco, poznaj jeden, ciekawy język/framework przynajmniej raz na pół roku&#8230; choćby pobieżnie i przeczytaj <a href="http://helion.pl/view/4113g/wiecej_niz_java_bruce_a_tate,moreja.htm">książkę, którą Ci polecam</a>, bo warto ;)</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.grzegorzpawlik.com/2010/05/dobra-ksiazka-o-przyszlosci-i-mozliwych-zmianach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Czego brakuje frameworkowi cakePHP?</title>
		<link>http://blog.grzegorzpawlik.com/2008/10/czego-brakuje-frameworkowi-cakephp/</link>
		<comments>http://blog.grzegorzpawlik.com/2008/10/czego-brakuje-frameworkowi-cakephp/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 13:58:00 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[RAD]]></category>

		<guid isPermaLink="false">http://meta.vipserv.org/blog.grzegorzpawlik.com/?p=37</guid>
		<description><![CDATA[Jakiś czas temu zetknąłem się z frameworkiem Django dla języka Python. Oprócz samego języka, który jest zdecydowanie bardziej nowoczesny w Django szczególnie urzekła mnie jedna rzecz. Chodzi o sposób definiowania struktury dla bazy danych. Otóż w Django odbywa się to &#8230; <a href="http://blog.grzegorzpawlik.com/2008/10/czego-brakuje-frameworkowi-cakephp/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Jakiś czas temu zetknąłem się z frameworkiem Django dla języka Python. Oprócz samego języka, który jest zdecydowanie bardziej nowoczesny w Django szczególnie urzekła mnie jedna rzecz.<br />
Chodzi o sposób definiowania struktury dla bazy danych. Otóż w Django odbywa się to tylko w jednym miejscu &#8211; w plikach modeli.</p>
<p>Dlaczego jest to takie fajne? Posłużę się antyprzykładem z cakePHP.<br />
Wyobraź sobie, że masz projekt i zarządzasz jego wersjami za pomocą popularnego SVN, czy CVS. Najczęściej pracujesz na lokalu i we wczesnych fazach projektu to dodasz pole w bazie danych w jakimś miejscu, do zmienisz indeks. Robisz commit kodu, który na nowej strukturze działa dobrze, ale struktura bazy danych nie podlega wersjonowaniu.<br />
Zatem albo musisz zrobić eksport struktury do pliku który jest wersjonowany, albo (jak często odbywa się to w moich projektach) &#8211; robisz zmiany na pewnej głównej i ogólno dostępnej bazie (co by reszta mogła sobie ściągnąć nową wersję).</p>
<p>Pierwsze rozwiązanie sprawia, że przybywa Ci pracy. Wiem, że to nie dużo, ale zawsze jedna dodatkowa rzecz o której musisz pamiętać. A w przypadku gdy commit zrobiłeś po tygodniu pracy, bo wcześniej cały system się sypał &#8211; możesz zapomnieć o takich szczegółach jak dodanie pola na początku.<br />
W przypadku jest jeszcze gorzej. Oprócz problemów opisanych powyżej dochodzi niebezpieczeństwo usunięcia całej bazy, brak możliwości powrotu z bazą do wcześniejszej wersji.</p>
<p>Z kolei w django możesz zapomnieć o phpMyAdminie i innych. Całą strukturę bazy danych masz zdefiniowaną w modelu i jednym poleceniem synchronizujesz jej wersję w silniku bazy z definicją w modelu.</p>
<p>Oczywiście do podejścia trzeba się przyzwyczaić.&nbsp; W cake&#8217;u trzymając się konwencji wszystkie modele mogą wyglądać tak:<br />
class TabelaWFormieLiczbyPojedynczej extends AppModel {};<br />
W django &#8211; to co nie istnieje w modelu &#8211; nie istnieje w bazie.</p>
<p>Ciekaw tylko jestem jak to się sprawdza przy nietypowych sytuacjach, które nieraz wymagają nieco karkołomnych konstrukcji w projekcie bazy danych i specyficznych zapytań sql. Moja znajomość samego Django jest na ten moment za mała, żeby odpowiedzieć na to pytanie.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.grzegorzpawlik.com/2008/10/czego-brakuje-frameworkowi-cakephp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

