menu | o mnie | repozytorium | projekty | blog | rss | tagi

Wątki w pyGTK

2008-07-21

"Wątki to bardzo dobry sposób żeby z jednego problemu zrobić dwa.."

Czasami jednak nie da się ich uniknąć. Na przykład pisząc graficzny interfejs użytkownika, nie można pozwolić, aby podczas wykonywania długotrwałych operacji, program zamierał . Ponieważ dopiero po paru tutorialach zrozumiałem jak należy pisać taki kod z użyciem pyGTK, postaram się opisać w możliwie najbardziej przystępny sposób o co w tym wszystkim chodzi.

threading.Thread

Biblioteka standardowa Pythona zawiera między innymi moduł threading w którym znajduje się zbiór klas ułatwiających pracę ...

[wyświetl całość]

Python IRC bot

2008-07-15

Jedną z pierwszych aplikacji jaką napisałem w Pythonie był IRCowy bot. Własna, bardzo ograniczona ale prosta biblioteka i parę wtyczek. Potem napisałem go od nowa, potem przepisałem go na irclib, a po jakimś czasie stworzyłem trochę kodu dla jeszcze innego bota.

Bot którego napisałem razem z pagenoare miał być użyty jako część portalu python.org.pl, między innymi do zapisywania rozmów prowadzonych na kanale. W między czasie miałem jeszcze napisać wtyczkę do powiadomień o nowych wpisach na wybranych portalach. Ponieważ ...

[wyświetl całość]

Zaawansowana edycja w vim

Vim
2008-07-10

Do tego, że Vim pozwala na całkiem inne spojrzenie na pisanie kodu, nikogo chyba przekonywać nie muszę. Zamiast klikać i zaznaczać myszką, wystarczy znać odpowiednie polecenia i przyzwyczaić się do ich używania.

Usuwanie tekstu

Najwięcej czasu zajmuje mi zawsze usuwanie jakiegoś fragmentu kodu. Dla całych linii wystarczy użyć dd lub Vd, ale zdarzają się też sytuacje, gdzie trzeba usunąć tekst stosując trochę inne ograniczenia. Załóżmy że napisałem taki kawałek kodu

def simplefun(one, two, three, *args):
    pass

i chce zmienić ...

[wyświetl całość]

Pprint w Lua

2008-06-30

Jedną z fajniejszych rzeczy podczas nauki języka skryptowego jest możliwość korzystania z interpretera. Pozwala to na dotknięcie pisanego kodu. W Pythonie, żeby móc lepiej przyjrzeć się prostemu obiektowi wystarczy napisać

>>> obj = [1, 2, (3, 4), { 'a': 'b'}]
>>> print(obj)
[1, 2, (3, 4), {'a': 'b'}]
>>> print(dir(obj))
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', 
'__eq__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', 
'__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', 
'__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', 
'__setitem__', '__setslice__ ...
[wyświetl całość]

Awesome 3 i Lua

2008-06-24

Między egzaminem a projektem który muszę oddać, znalazłem trochę czasu który wykorzystałem na odświerzenie swojego systemu. Mowa głównie o nowym awesome, które w niedalekiej przyszłości osiągnie numerek 3.0.

awesome

Awesome to dynamiczny menadżer okien, pierwotnie bazujący na kodzie dwm (chociaż obecnie, szczególnie w gałęzi 3.0, większośc kodu została przepisana). Cały urok dynamiczności tego rodzaju menadżerów polega na automatycznym skalowaniu okienek. Gdy uruchomione jest jedno okno, zajmuje ono cały ekran roboczy. Uruchomienie kolejnego, skaluje pierwsze i wyświetla oba obok ...

[wyświetl całość]
7 : 6 : 5 : 4 : 3 : 2 : 1

This site's design and contents are copyright © 2008 Piotr Husiatyński. All views and opinions expressed are those of their authors.

Powered by Django, Vim and Arch Linux.