<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:wfw="http://wellformedweb.org/CommentAPI/"
     >
  <channel>
    <title>Notatnik zapisywany wieczorami</title>
    <link>http://notatnik.mekk.waw.pl</link>
    <description>Notatnik zapisywany wieczorami</description>
    <dc:language>pl</dc:language>
    <pubDate>Fri, 27 May 2022 12:33:56 GMT</pubDate>
    <generator>Blogofile</generator>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Jak testuję moje wtyczki, czyli testy nie tylko dla Pythona</title>
      <link>http://notatnik.mekk.waw.pl/archives/309-Jak_testuje_moje_wtyczki_czyli_narzedzia_nie_tylko_dla_Pythona.html</link>
      <category>Python></category>
      <pubDate>Sun, 06 Dec 2015 12:29:08 +0100</pubDate>
      <guid isPermaLink="true">http://notatnik.mekk.waw.pl/archives/309-Jak_testuje_moje_wtyczki_czyli_narzedzia_nie_tylko_dla_Pythona.html</guid>
      <content:encoded><![CDATA[
         <p>Napisałem ostatnio parę <a href="http://mekk.bitbucket.io/mercurial.html">rozszerzeń do Mercuriala</a>.  Nic
szczególnie skomplikowanego, rozwiązania <em>codziennych uciążliwości</em>
(np. <a href="https://bitbucket.org/Mekk/mercurial-path_pattern">grupowe definiowanie aliasów</a> albo <a href="https://bitbucket.org/Mekk/mercurial-update_version">automatyczne
poprawianie numeru wersji przy tagowaniu</a>).</p>
<p>Skoro już zdecydowałem się je opublikować, przydałoby się jakoś
<em>zapewniać jakość</em>. A to oznacza przeprowadzanie podstawowych testów
funkcjonalności przed każdym release. Co więcej, testy te warto by
wykonać na różnych wersjach Mercuriala a nawet na różnych wersjach
Pythona.</p>
<p>Przećwiczyłem w tym celu kilka narzędzi, które mogą być przydatne nie
tylko w tym zastosowaniu (i nie tylko przy programowaniu w Pythonie).</p>

         <a href="http://notatnik.mekk.waw.pl/archives/309-Jak_testuje_moje_wtyczki_czyli_narzedzia_nie_tylko_dla_Pythona.html">Czytaj dalej "Jak testuję moje wtyczki, czyli testy nie tylko dla Pythona" »</a>
      ]]></content:encoded>
      <author>nospam@example.com (Marcin Kasperski)</author>

      <comments>http://notatnik.mekk.waw.pl/archives/309-Jak_testuje_moje_wtyczki_czyli_narzedzia_nie_tylko_dla_Pythona.html#disqus_thread</comments>
   </item>
    <item>
      <title>Bardzo wolne zapytanie</title>
      <link>http://notatnik.mekk.waw.pl/archives/306-Bardzo_wolne_zapytanie.html</link>
      <category>Python></category>
      <pubDate>Wed, 21 Oct 2015 01:06:12 +0200</pubDate>
      <guid isPermaLink="true">http://notatnik.mekk.waw.pl/archives/306-Bardzo_wolne_zapytanie.html</guid>
      <content:encoded><![CDATA[
         <p>Robię proste wyszukiwanie rekordu w jednej bazodanowej tabeli, po
jednopolowym kluczu głównym. Wszelkie statystyki są policzone, dane
mają normalny zdrowy rozkład. To <em>musi</em> działać szybko, nieprawdaż?</p>
<p>Też tak myślałem.</p>

         <a href="http://notatnik.mekk.waw.pl/archives/306-Bardzo_wolne_zapytanie.html">Czytaj dalej "Bardzo wolne zapytanie" »</a>
      ]]></content:encoded>
      <author>nospam@example.com (Marcin Kasperski)</author>

      <comments>http://notatnik.mekk.waw.pl/archives/306-Bardzo_wolne_zapytanie.html#disqus_thread</comments>
   </item>
    <item>
      <title>Estetyczne raporty dla wielokrokowych testów nosetests</title>
      <link>http://notatnik.mekk.waw.pl/archives/294-Estetyczne_etykiety_dla_inkrementalnych_testw_z_nose.html</link>
      <category>Python></category>
      <pubDate>Sat, 06 Jul 2013 10:47:08 +0200</pubDate>
      <guid isPermaLink="true">http://notatnik.mekk.waw.pl/archives/294-Estetyczne_etykiety_dla_inkrementalnych_testw_z_nose.html</guid>
      <content:encoded><![CDATA[
         <p>Zadziwiająco dużo praktycznych unit-testów wymaga realizacji sekwencji
operacji. Aby sprawdzić, czy <em>poprawnie działa kasowanie profilu dla
którego istnieją zlecone operacje z przyszłą datą</em>, trzeba najpierw
ten profil <em>stworzyć</em>, potem <em>zlecić owe operacje</em> i dopiero można
przejść do właściwego testu. Aby zweryfikować zachowanie trzeciej
strony jakiejś sekwencji formularzy trzeba <em>zasymulować logowanie</em>,
<em>zainicjować sekwencję</em>, <em>przejść pierwszą stronę</em>, <em>przejść drugą
stronę</em>. I tak dalej…</p>
<p>Różnie można do tego podchodzić. </p>

         <a href="http://notatnik.mekk.waw.pl/archives/294-Estetyczne_etykiety_dla_inkrementalnych_testw_z_nose.html">Czytaj dalej "Estetyczne raporty dla wielokrokowych testów nosetests" »</a>
      ]]></content:encoded>
      <author>nospam@example.com (Marcin Kasperski)</author>

      <comments>http://notatnik.mekk.waw.pl/archives/294-Estetyczne_etykiety_dla_inkrementalnych_testw_z_nose.html#disqus_thread</comments>
   </item>
    <item>
      <title>W poszukiwaniu relacji z polskiego Pycona 2010</title>
      <link>http://notatnik.mekk.waw.pl/archives/244-W_poszukiwaniu_relacji_z_polskiego_Pycona_2010.html</link>
      <category>Python></category>
      <pubDate>Fri, 29 Oct 2010 00:11:37 +0200</pubDate>
      <guid isPermaLink="true">http://notatnik.mekk.waw.pl/archives/244-W_poszukiwaniu_relacji_z_polskiego_Pycona_2010.html</guid>
      <content:encoded><![CDATA[
         <p>Przypomniałem sobie dzisiaj o <a href="http://pl.pycon.org/2010/">polskim
Pyconie</a> i próbowałem znaleźć jakieś
relacje i materiały (sam niestety w Ustroniu nie byłem, wybrałem w tym
roku <a href="http://notatnik.mekk.waw.pl/archives/241-Front-Trends_2010_-_czesc_1.html">Front-Trends</a>).</p>
<p>Zbyt wiele informacji niestety nie ma ale tym bardziej zdecydowałem się
zanotować te znalezione.</p>

         <a href="http://notatnik.mekk.waw.pl/archives/244-W_poszukiwaniu_relacji_z_polskiego_Pycona_2010.html">Czytaj dalej "W poszukiwaniu relacji z polskiego Pycona 2010" »</a>
      ]]></content:encoded>
      <author>nospam@example.com (Marcin Kasperski)</author>

      <comments>http://notatnik.mekk.waw.pl/archives/244-W_poszukiwaniu_relacji_z_polskiego_Pycona_2010.html#disqus_thread</comments>
   </item>
    <item>
      <title>Publikacja modułu pythonowego</title>
      <link>http://notatnik.mekk.waw.pl/archives/225-Publikacja_modulu_pythonowego.html</link>
      <category>Python></category>
      <pubDate>Mon, 31 May 2010 02:29:16 +0200</pubDate>
      <guid isPermaLink="true">http://notatnik.mekk.waw.pl/archives/225-Publikacja_modulu_pythonowego.html</guid>
      <content:encoded><![CDATA[
         <p>Kawałek napisanego pythonowego kodu nieraz warto zamknąć jako
bibliotekę i opublikować. W realizowanych czynnościach nie ma
niczego trudnego ale ... wystarczy nie robić tego 2-3 miesiące,
by nie pamiętać wszystkich kroków. Stąd ta notka.</p>
<p>Opisuję scenariusz, w którym publikuję i utrzymuję kod, który
będzie można instalować przez <code>easy_install</code> (albo <code>pip</code>) i którego
źródła będą dostępne dla wszystkich zainteresowanych.</p>

         <a href="http://notatnik.mekk.waw.pl/archives/225-Publikacja_modulu_pythonowego.html">Czytaj dalej "Publikacja modułu pythonowego" »</a>
      ]]></content:encoded>
      <author>nospam@example.com (Marcin Kasperski)</author>

      <comments>http://notatnik.mekk.waw.pl/archives/225-Publikacja_modulu_pythonowego.html#disqus_thread</comments>
   </item>
    <item>
      <title>iostreams</title>
      <link>http://notatnik.mekk.waw.pl/archives/205-iostreams.html</link>
      <category>Python></category>
      <pubDate>Tue, 19 Jan 2010 23:05:45 +0100</pubDate>
      <guid isPermaLink="true">http://notatnik.mekk.waw.pl/archives/205-iostreams.html</guid>
      <content:encoded><![CDATA[
         <p>Kawałek znalezionego gdzieś w sieci kodu, rzucającego przyjemny pomost
między najstarszym z autentycznie lubianych przeze mnie języków programowania a 
tym, po który najchętniej sięgam dzisiaj.</p>

         <a href="http://notatnik.mekk.waw.pl/archives/205-iostreams.html">Czytaj dalej "iostreams" »</a>
      ]]></content:encoded>
      <author>nospam@example.com (Marcin Kasperski)</author>

      <comments>http://notatnik.mekk.waw.pl/archives/205-iostreams.html#disqus_thread</comments>
   </item>
    <item>
      <title>Estetyczny monkey-patching</title>
      <link>http://notatnik.mekk.waw.pl/archives/191-Estetyczny_monkey-patching.html</link>
      <category>Python></category>
      <pubDate>Sun, 22 Nov 2009 23:23:55 +0100</pubDate>
      <guid isPermaLink="true">http://notatnik.mekk.waw.pl/archives/191-Estetyczny_monkey-patching.html</guid>
      <content:encoded><![CDATA[
         <p>Dla osób przesiadających się z C++ czy Javy to jedna z bardziej
szokujących właściwości Pythona (a także Perla i paru innych języków
skryptowych): kod programu można zmienić w locie. Można - w szczególności -
dopisać albo podmienić metody istniejącej klasy czy funkcje zadanego
modułu. </p>
<p>Technika ryzykowna, łatwo prowadząca do powstawania niezrozumiałego
kodu i trudnych do interpretacji błędów. Ale zarazem bardzo przydatna,
zwłaszcza gdy trzeba zmodyfikować zachowanie jakiejś biblioteki w miejscu,
którego jej autor nie przewidział (np. ostatnio przypomniałem ją sobie
chcąc zmienić <a href="http://bitbucket.org/Mekk/mercurial_keyring/">sposób w jaki Mercurial obsługuje hasła HTTP i SMTP</a>). Monkey-patching bardzo często przydaje
się też przy testach, pozwalając zamienić prawdziwy kod komunikacyjny czy bazodanowy
zaślepkami.</p>
<p>W tym artykule o kilku możliwych sposobach zapisywania tej operacji.</p>

         <a href="http://notatnik.mekk.waw.pl/archives/191-Estetyczny_monkey-patching.html">Czytaj dalej "Estetyczny monkey-patching" »</a>
      ]]></content:encoded>
      <author>nospam@example.com (Marcin Kasperski)</author>

      <comments>http://notatnik.mekk.waw.pl/archives/191-Estetyczny_monkey-patching.html#disqus_thread</comments>
   </item>
    <item>
      <title>Virtualenv dla Jythona</title>
      <link>http://notatnik.mekk.waw.pl/archives/185-Virtualenv_dla_Jythona.html</link>
      <category>Python></category>
      <pubDate>Wed, 28 Oct 2009 00:39:18 +0100</pubDate>
      <guid isPermaLink="true">http://notatnik.mekk.waw.pl/archives/185-Virtualenv_dla_Jythona.html</guid>
      <content:encoded><![CDATA[
         <p><a href="http://notatnik.mekk.waw.pl/archives/7-Wirtualne_srodowiska_Pythona.html">Wirtualne środowiska Pythona</a> bez problemu można wykorzystywać
także przy pracy z <a href="http://www.jython.org/">Jythonem</a> (a także do przełączania się
między Pythonem a Jythonem). Nie wymaga to żadnych
szczególnych działań, wszystko przebiega niemal identycznie jak pod Pythonem.</p>

         <a href="http://notatnik.mekk.waw.pl/archives/185-Virtualenv_dla_Jythona.html">Czytaj dalej "Virtualenv dla Jythona" »</a>
      ]]></content:encoded>
      <author>nospam@example.com (Marcin Kasperski)</author>

      <comments>http://notatnik.mekk.waw.pl/archives/185-Virtualenv_dla_Jythona.html#disqus_thread</comments>
   </item>
    <item>
      <title>Pycon 2009 - relacji część czwarta i ostatnia</title>
      <link>http://notatnik.mekk.waw.pl/archives/184-Pycon_2009_-_relacji_czesc_czwarta_i_ostatnia.html</link>
      <category>Python></category>
      <pubDate>Fri, 23 Oct 2009 02:14:00 +0200</pubDate>
      <guid isPermaLink="true">http://notatnik.mekk.waw.pl/archives/184-Pycon_2009_-_relacji_czesc_czwarta_i_ostatnia.html</guid>
      <content:encoded><![CDATA[
         <p>Ostatnia część relacji z <a href="http://pl.pycon.org">polskiego Pycona</a> (pierwsza jest
<a href="http://notatnik.mekk.waw.pl/archives/181-Pycon_2009_-_relacji_czesc_pierwsza.html">tutaj</a>, druga <a href="http://notatnik.mekk.waw.pl/archives/182-Pycon_2009_-_relacji_czesc_druga.html">tutaj</a> a trzecia <a href="http://notatnik.mekk.waw.pl/archives/183-Pycon_2009_-_relacji_czesc_trzecia.html">tutaj</a>). Słowo się
rzekło, kobyłka u płotu, rozpoczęte dzieło trzeba zakończyć a
<a href="http://pl.pycon.org">Pycon</a> z to-do, blogerowi lżej.</p>
<p>Do omówienia zostały wykłady niedzielne, opisuję też co uważam
za najważniejsze własne wnioski z konferencji.</p>

         <a href="http://notatnik.mekk.waw.pl/archives/184-Pycon_2009_-_relacji_czesc_czwarta_i_ostatnia.html">Czytaj dalej "Pycon 2009 - relacji część czwarta i ostatnia" »</a>
      ]]></content:encoded>
      <author>nospam@example.com (Marcin Kasperski)</author>

      <comments>http://notatnik.mekk.waw.pl/archives/184-Pycon_2009_-_relacji_czesc_czwarta_i_ostatnia.html#disqus_thread</comments>
   </item>
    <item>
      <title>Pycon 2009 - relacji część trzecia</title>
      <link>http://notatnik.mekk.waw.pl/archives/183-Pycon_2009_-_relacji_czesc_trzecia.html</link>
      <category>Python></category>
      <pubDate>Thu, 22 Oct 2009 02:38:42 +0200</pubDate>
      <guid isPermaLink="true">http://notatnik.mekk.waw.pl/archives/183-Pycon_2009_-_relacji_czesc_trzecia.html</guid>
      <content:encoded><![CDATA[
         <p>Kolejna część relacji z <a href="http://pl.pycon.org">polskiego Pycona</a>
(jeśli ktoś nie czytał - pierwsza jest <a href="http://notatnik.mekk.waw.pl/archives/181-Pycon_2009_-_relacji_czesc_pierwsza.html">tutaj</a>
a druga <a href="http://notatnik.mekk.waw.pl/archives/182-Pycon_2009_-_relacji_czesc_druga.html">tutaj</a>). Sobotni wieczór.</p>

         <a href="http://notatnik.mekk.waw.pl/archives/183-Pycon_2009_-_relacji_czesc_trzecia.html">Czytaj dalej "Pycon 2009 - relacji część trzecia" »</a>
      ]]></content:encoded>
      <author>nospam@example.com (Marcin Kasperski)</author>

      <comments>http://notatnik.mekk.waw.pl/archives/183-Pycon_2009_-_relacji_czesc_trzecia.html#disqus_thread</comments>
   </item>
  </channel>
</rss>

