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ę ...
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ż ...
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ć ...
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__ ...
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 ...