Programowanie

Tematy związane, czasem bardzo luźno, z programowaniem w szerokim tego słowa znaczeniu. Posty o pythonie, bashu, javascripcie itp.

Wyświetlanie zapytania sql w shellu Django

Data publikacji: 2013-07-30 | Programowanie
Pierwszy sposób jest najprostszy i działa od Django w wersji 1.3
qs = Model.objects.all()
print qs.query
lub
str(Model.objects.all().query)
Niestety możemy go zastosować jedynie do QuerySetów.

więcej...


cPaste.info - kolejny pastebin

Data publikacji: 2013-07-25 | Programowanie
Tak się złożyło, że pojawiło się Django 1.5 (o czym już pisałem), a ja z braku czasu nawet go nie dotknąłem. Oto jednak nadszedł ten moment, w którym postanowiłem napisać jakąś prostą aplikację w nowym Django. Padło na stronę typu pastebin czyli platformę do dzielenia się snippetami kodu. Na projekt przeznaczyłem około 4-6h, użyłem frameworków: Django 1.5, Formee, html5 Boilerplate (łącznie z bootstrap) oraz Pygments.

więcej...


PrettyPhoto i "naprawa" brzydkich linków

Data publikacji: 2013-07-05 | Programowanie
PrettyPhoto to zdecydowanie dobry plugin do jQuery, służący do estetycznego prezentowania mediów (głównie obrazów). Jednak out of the box przychodzi z włączoną opcją, której przydatność jest dyskusyjna. Chodzi mianowicie o to, że przy każdym zdjęciu otwartym w PrettyPhoto zmieniany jest url, np.:
http://domena.pl/jakis-przyjazny-seo-link.html#!prettyPhoto/0/

więcej...


Płynne przewijanie do określonego fragmentu strony w jQuery

Data publikacji: 2013-06-28 | Programowanie
Czasami zamiast linkowania do kolejnych podstron wystarczy proste przeniesienie do danego id w obrębie bieżącej strony. Sposób w czystym htmlu jest stosunkowo prosty:
<a href="#docelowy_id">link</a>
Jednak niezbyt efektowny - zawartość strony "przeskakuje" do danego id.

więcej...


Sprawdzanie poczty gmail w shellu przy użyciu Atom

Data publikacji: 2013-06-20 | Programowanie
Przy okazji zabawy z Conky powstał temat pobierania maili z google. Oto skrypt w bashu, który używając feedów Atom pobiera ilość nowej nieprzeczytanej poczty ze skrzynki gmail.

więcej...


MAXREPEAT problem Django, virtualenv oraz aktualizacji pythona

Data publikacji: 2013-06-04 | Programowanie
Ostatni trafił mi się ciekawy przypadek złego działania virtualenv po aktualizacji pythona. Mianowicie każdy odpalony projekt Django witał mnie błędem:
ImportError: cannot import name MAXREPEAT

więcej...


Django - logarytmiczna chmura tagów

Data publikacji: 2013-05-22 | Programowanie
Mając już działający system tagów na stronie możemy (i zwykle chcemy) pokusić się o wyświetlenie chmury tagów. Chmura tagów to zbiór tagów, wyświetlony gdzieś na stronie www, dla którego charakterystyczną cechą jest zróżnicowanie wielkości czcionki w zależności od ilości wystąpień danego tagu. Innymi słowy - im częściej występuje dany tag, tym większa czcionka.

więcej...


Gvim - otwieranie nowych plików w zakładkach

Data publikacji: 2013-05-07 | Programowanie
Kiedy edytuję coś na serwerach ftp (wiem, wiem, kontrola wersji, ale czasem nie ma takiej możliwości), używam programu FileZilla do przeglądania zasobów. Jako, że mój ulubiony i jedyny edytor to vim/gvim, używam również jego do otwierania zdalnych plików. Problem pojawia się gdy chcę edytować kilka plików jednocześnie, a każdy otwiera się w nowej instancji gvima. Rezultat łatwo przewidzieć - mnóstwo okienek, w których z czasem ciężko jest się połapać.

więcej...


Java i join

Data publikacji: 2013-05-01 | Programowanie
Nie znam Javy. Nigdy chyba nie będę miał tyle samozaparcia, żeby przełamać się i spróbować napisać coś poważniejszego, niż kilka pętli, instrukcji warunkowych lub parę klas.

więcej...


Dlaczego Ci szaleńcy używają vi?!

Data publikacji: 2013-04-26 | Programowanie
Na wstępie rzucę linkiem, który trafił na ekran mojego monitora już kilka razy - albo natykałem się na niego sam, albo ktoś mi go podsyłał. Artykuł nie jest ani wprowadzeniem do vima, ani opisem sztuczek i komend. Jest raczej próbą wyjaśnienia - dlaczego my, tytułowi szaleńcy, wybieramy używanie takiego edytora mimo tego, że powstały setki nowszych, 'lepszych' i bardziej przyjaznych.

więcej...


Mercurial, hooki i python

Data publikacji: 2013-04-19 | Programowanie
Jesteśmy tylko ludźmi, a mylić się i błądzić jest rzeczą jak najbardziej ludzką. Cały trik polega na tym, żeby z błądzeń i pomyłek wyciągać wnioski na przyszłość. O ile jestem w stanie być wierny tej zasadzie w około 80%, to pozostałe 20% stanowią błędy, które popełniam zawsze i wszędzie, choćbym nie wiem jak bardzo się starał :). Jednym z tych błędów jest wprowadzenie tzw. tymczasowych zmian w kodzie i zapomnienie o nich przed wrzuceniem serwisu na produkcję. W efekcie strona radośnie pobłyskuje wyrazem DUPA!!! w najbardziej czytelnym miejscu, albo świeci pustymi fragmentami, bo tymczasowo i w celach testowych wyciąłem spory fragment template_tagów.

więcej...


Ładnie sformatowane i podświetlone fragmenty kodu w bloggerze. (Podejście drugie - Dynamic View).

Data publikacji: 2013-03-21 | Programowanie
W poprzednim poście dotyczącym bloggera i upiększacza kodu czyli prettyprint pisałem o jego zastosowaniu do zwykłych widoków. Przyszedł czas na opisanie sposobu wdrożenia w nowych widokach bloggera, czyli Dynamic View.

więcej...


Usuwanie duplikatów z listy w pythonie

Data publikacji: 2013-03-13 | Programowanie
Nie wszyscy znają te combo, a wszyscy powinni. Mając listę w pythonie w postaci [1, 3, 5, 7, 3, 4, 5] możemy w łatwy sposób pozbyć się duplikatów:

więcej...


Django 1.5 zostało wypuszczone

Data publikacji: 2013-02-27 | Programowanie
Wczoraj ukazała się najnowsza wersja frameworka webowego opartego na pythonie, czyli Django w wersji 1.5.

więcej...


Jak znaleźć ostatni dzień dowolnego miesiąca w pythonie

Data publikacji: 2013-02-22 | Programowanie
Przy generowaniu różnorakich raportów na dany miesiąc potrzebujemy (znając numer bądź nazwę miesiąca), znaleźć początkowy i końcowy jego dzień. Pierwszy dzień ma oczywiście numer 1, ale co z ostatnim?

więcej...


Tuning panelu administratora w Django

Data publikacji: 2013-02-19 | Programowanie
Zaletą panelu administratora Django jest jego wygląd - czysty, przejrzysty, łatwy w nauce. No i nie wiadomo ile serwisów byśmy mieli do obsłużenia - schematu uczymy się tylko raz, a przez większość czasu możemy skupić się na treści. Paradoksalnie - ta zaleta jest jednocześnie wadą - każdy panel jest tak do siebie podobny, że można się zagubić i stracić orientację, czy dodajemy treść na serwisie o seksrandkach, czy może na stronie dla dzieci.

więcej...


Jak sprawdzić profil kolorów zdjęcia z poziomu konsoli.

Data publikacji: 2013-02-05 | Programowanie
Gdy musimy szybko określić profil kolorów danego zdjęcia, wystarczy komenda identify z pakietu ImageMagick:
identify -verbose nazwa_obrazka.jpg | grep "Colorspace"

więcej...


Vim i podświetlanie składni templatek django

Data publikacji: 2013-02-01 | Programowanie
Vim ma problemy z wykryciem, czy szablon Django jest zwykłym htmlem, czy rzeczonym szablonem. To fakt. Jak zatem poradzić sobie z tą niedogodnością?

więcej...


Wysyłanie wiadomości e-mail używając Django oraz Gmail

Data publikacji: 2013-01-29 | Programowanie
Aby wysyłać pocztę przy użyciu Gmaila, należy spełnić dwa warunki:
  • Posiadać poprawnie skonfigurowane konto Gmail (nieważne, czy będzie to typowe konto, czy konto założone na własnej domenie przy pomocy GoogleApps).
  • Skonfigurować framework Django tak, by korzystał z konta Gmail, przy wysyłaniu poczty.

więcej...


Błąd TypeError Django: translate() takes exactly one argument (2 given) przy używaniu metody HttpResponse.set_cookie()

Data publikacji: 2013-01-25 | Programowanie
Przy ustawianiu cookie w widokach Django można natknąć się na błąd:
translate() takes exactly one argument (2 given)
który pojawia się przy wywoływaniu HttpResponse.set_cookie()

więcej...


4

IT w obrazkach: